Vous êtes sur la page 1sur 402

The Basics Guide

Copyright and Disclaimer


© 2009 Autodesk, Inc. All rights reserved. Except as otherwise permitted by Autodesk, Disclaimer
Inc., this publication, or parts thereof, may not be reproduced in any form, by any
THIS PUBLICATION AND THE INFORMATION CONTAINED HEREIN IS MADE
method, for any purpose.
AVAILABLE BY AUTODESK, INC. "AS IS." AUTODESK, INC. DISCLAIMS ALL
Certain materials included in this publication are reprinted with the permission of the WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
copyright holder. ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE REGARDING THESE MATERIALS.
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), Documentation Team
3December, 3December.com, 3ds Max, ADI, Algor, Alias, Alias (swirl design/logo),
Judy Bayne, Grahame Fuller, Amy Green, Edna Kruger, and Naomi Yamamoto.
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 11 2009
Map, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch,
AutoTrack, Backburner, Backdraft, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE,
Can You Imagine, Character Studio, Cinestream, Civil 3D, Cleaner, Cleaner Central,
ClearScale, Colour Warper, Combustion, Communication Specification, Constructware,
Content Explorer, Create>what's>Next> (design/logo), Dancing Baby (image),
DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer,
DesignStudio, Design|Studio (design/logo), 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, Filmbox, Fire, Flame,
Flint, FMDesktop, Freewheel, Frost, GDX Driver, Gmax, 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, Reactor, RealDWG, Real-time
Roto, REALVIZ, Recognize, Render Queue, Retimer,Reveal, Revit, Showcase,
ShowMotion, SketchBook, Smoke, Softimage, Softimage|XSI (design/logo), Sparks,
SteeringWheels, Stitcher, Stone, StudioTools, Topobase, Toxik, TrustedDWG, ViewCube,
Visual, Visual Construction, Visual Drainage, Visual Landscape, Visual Survey, Visual
Toolbox, Visual LISP, Voice Reality, Volo, Vtour, Wire, Wiretap, WiretapCentral, XSI, and
XSI (design/logo).
Python is a registered trademark of Python Software Foundation. All other brand names,
product names or trademarks belong to their respective holders.

Basics • 3
Copyright and Disclaimer

4 • Softimage
Contents

Welcome to Autodesk® Softimage®! . . . . . . . . . . . . . . . . . 9 Section 4


Organizing Your Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Section 1 Where Files Get Stored . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Introducing Softimage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Scenes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
The Softimage Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Getting Commands and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Setting Values for Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Importing and Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Working with Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Working in 3D Views. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Section 5
Exploring Your Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 General Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Overview of Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Section 2 Geometric Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Elements of a Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Accessing Modeling Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 88
What’s in a Scene? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Starting from Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Selecting Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Operator Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Modeling Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Attribute Transfer (GATOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Components and Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Manipulating Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Parameter Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Deformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Section 3 Section 6
Moving in 3D Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Coordinate Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 About Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Drawing Curves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Center Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Manipulating Curve Components . . . . . . . . . . . . . . . . . . . . . . . . 107
Freezing Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Modifying Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Resetting Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Creating Curves from Other Objects . . . . . . . . . . . . . . . . . . . . . . 110
Setting Neutral Poses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Importing EPS Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Transform Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Transformations and Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Snapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Basics • 5
Section 7 Linking Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Polygon Mesh Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Overview of Polygon Mesh Modeling . . . . . . . . . . . . . . . . . . . . . . 114 Copying Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
About Polygon Meshes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Scaling and Offsetting Animation . . . . . . . . . . . . . . . . . . . . . . . . . 169
Converting Curves to Polygon Meshes . . . . . . . . . . . . . . . . . . . . . 118 Plotting (Baking) Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Drawing Polygons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Removing Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Subdividing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Drawing Edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Section 10
Extruding Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Character Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Removing Polygon Mesh Components . . . . . . . . . . . . . . . . . . . . . 123 Character Animation in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . 172
Combining Polygon Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Setting Up Your Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Symmetrizing Polygons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Building Skeletons for Characters . . . . . . . . . . . . . . . . . . . . . . . . . 177
Cleaning Up Meshes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Enveloping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Reducing Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Rigging a Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Polygon Normals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Animating Characters with FK and IK . . . . . . . . . . . . . . . . . . . . . . 190
Subdivision Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Walkin’ the Walk Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Motion Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Section 8 Making Faces with Face Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
NURBS Surface Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
About Surfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Section 11
Building Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Shape Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Modifying Surfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Things are Shaping Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Projecting and Trimming with Curves . . . . . . . . . . . . . . . . . . . . . . 135 Using Construction Modes for Shape Animation. . . . . . . . . . . . . . 204
Surface Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Creating and Animating Shapes in the Shape Manager . . . . . . . . 205
Selecting Target Shapes to Create Shape Keys . . . . . . . . . . . . . . . 206
Section 9 Storing and Applying Shape Keys . . . . . . . . . . . . . . . . . . . . . . . . . 207
Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Using the Animation Mixer for Shape Animation . . . . . . . . . . . . . 208
Bringing It to Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Mixing the Weights of Shape Keys . . . . . . . . . . . . . . . . . . . . . . . . 209
Playing the Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Previewing Animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Section 12
Animating with Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Actions and the Animation Mixer . . . . . . . . . . . . . . . . . . . 211
Animating Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 What Is Nonlinear Animation? . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Editing Keys and Function Curves . . . . . . . . . . . . . . . . . . . . . . . . . 154 The Animation Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Layering Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Storing Animation in Action Sources. . . . . . . . . . . . . . . . . . . . . . . 214
Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Working with Clips in the Animation Mixer . . . . . . . . . . . . . . . . . 216
Path Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Mixing the Weights of Action Clips. . . . . . . . . . . . . . . . . . . . . . . . 217

6 • Softimage
Modifying and Offsetting Action Clips. . . . . . . . . . . . . . . . . . . . . 218 Section 16
Sharing Animation between Models . . . . . . . . . . . . . . . . . . . . . . 220 Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Adding Audio to the Mix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 The Shader Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
About Surface Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Section 13 Basic Surface Color Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Reflectivity, Transparency, and Refraction . . . . . . . . . . . . . . . . . . 303
Simulated Effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Applying Shaders to Scene Elements . . . . . . . . . . . . . . . . . . . . . . 306
Making Things Move with Forces . . . . . . . . . . . . . . . . . . . . . . . . 225 The Render Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Hair and Fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Building Shader Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Rigid Body Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Creating Shader Compounds . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Cloth Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Soft Body Dynamics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Section 17
Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Section 14 About Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
ICE: The Interactive Creative Environment . . . . . . . . . . . 241 The Material Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
What is ICE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Creating and Assigning Materials . . . . . . . . . . . . . . . . . . . . . . . . 319
The ICE Tree View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Material Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
ICE Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Forces and ICE Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Section 18
ICE Deformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Texturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Building ICE Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 How Surface and Texture Shaders Work Together . . . . . . . . . . . . 324
ICE Compounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Types of Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Applying Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Section 15 Texture Projections and Supports. . . . . . . . . . . . . . . . . . . . . . . . . 327
ICE Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Editing Texture Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Making ICE Particle Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 UV Coordinates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Particles that Bounce, Splash, Stick, Slide, and Flow. . . . . . . . . . . 277 Editing UV Coordinates in the Texture Editor . . . . . . . . . . . . . . . . 336
Particle Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Texture Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Spawning New Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Bump Maps and Displacement Maps. . . . . . . . . . . . . . . . . . . . . . 342
Particle Strands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Reflection Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Particle Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Baking Textures with RenderMap . . . . . . . . . . . . . . . . . . . . . . . . 345
ICE Particle States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Painting Colors at Vertices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
ICE Rigid Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
ICE Particle Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

Basics • 7
Section 19 Section 22
Lighting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Compositing and 2D Paint . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Types of Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Softimage Illusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Placing Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Adding Images and Render Passes . . . . . . . . . . . . . . . . . . . . . . . . 383
Setting Light Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Adding and Connecting Operators . . . . . . . . . . . . . . . . . . . . . . . . 384
Selective Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Editing and Previewing Operators . . . . . . . . . . . . . . . . . . . . . . . . . 386
Creating Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Rendering Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Global Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 2D Paint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Caustics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Vector Paint vs. Raster Paint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Final Gathering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Painting Strokes and Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Ambient Occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Merging and Cloning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Image-Based Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Light Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Section 23
Customizing Softimage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Section 20 Plug-ins and Add-ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Toolbars and Shelves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Types of Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Custom and Proxy Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
The Camera Rig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Working with Cameras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Key Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Setting Camera Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Other Customizations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Lens Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Motion Blur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368

Section 21
Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Rendering Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Render Passes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Render Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Setting Rendering Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Different Ways to Render . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

8 • Softimage
Welcome to Autodesk® Softimage®!
Softimage is a powerful 3D system that integrates modeling, Modeling
animation, simulation, compositing, and rendering into a single,
The modeling tools are designed for creating and editing seamless
seamless environment. Softimage incorporates many standard 3D tools
animated models of any sort. Softimage offers many tools for creating,
and functions, but goes far beyond that in terms of tool sophistication
editing, and deforming polygons and subdivision surfaces, as well as
and artistic control.
NURBS curves and surfaces.

Animation
Softimage provides you with a complete set of both low-level and high-
level animation tools. All the fundamental low-level tools are there
with keyframing, fcurve editor, dopesheet, constraints, linked
parameters, and expressions. You can also layer keyframe animation on
top of animation, such as motion capture (mocap) data.
Shape animation is achieved using a number of techniques and tools,
including the popular and easy-to-use shape manager.
For high-level animation, you have the animation mixer which lets you
mix, transition, and combine all forms of animation, shapes, and audio
in a nonlinear and non-destructive manner.

Character Animation
Building and animating characters is fully supported with all the
regular animation tools, as well as special character tools such as
Copyright © 2005 by Paramount Pictures Corporation and Viacom
International Inc. All Rights Reserved. Nickelodeon, Barnyard and all related
skeletons that use inverse kinematics, envelopes and weight maps, and
titles, logos and characters are trademarks of Viacom International Inc. easy-to-create character rigs and rigging tools. As well, you can retarget
any type of animation, including mocap data, to any type of rig.

The Interface The Face Robot module lets you make faces in a unique way. You first
set up a facial rig by going through several simple stages. Once the
Softimage’s interface is laid out in a way that gives you both a large facial rig is created, you can animate the facial controls and sculpt and
viewing area as well as easy access to all the tools you need, all the time. tune the soft facial tissue using a special set of tools.
You can easily resize any panel or viewport in the Softimage interface,
as well as customize its layout to exactly what you want.

Basics • 9
Welcome to Autodesk® Softimage®!

Simulation Rendering
You can simulate almost any kind of natural, or unnatural, phenomena Drawing upon the integration of mental ray® rendering technology,
you can think of using rigid bodies, soft bodies, or cloth — or grow Softimage offers full-resolution, interactive rendering, caustics, global
some hair! Simulation-type objects can then be influenced by forces illumination, and motion blur, not only for the final render, but also
and collisions to create simulated animations. within a render region that can be drawn in any Softimage viewport. It
renders everything in Softimage, letting you adjust your render
ICE: Interactive Creative Environment parameters at any stage of modeling, animating, or even during
ICE is a visual programming environment available directly within the playback.
Softimage interface. Using a node-based data tree format, you can As well, you can embed unlimited render passes into a single scene and
modify how any tool works, create custom tools and effects, and see the for each pass, generate multiple rendered channels such as specular or
results interactively, all without scripting a line of code. ICE is currently reflections. Softimage’s render passes and render channels are
used mostly for creating particle and deformation effects. extremely easy to create, customize, and edit.
Using ICE trees, you can create almost any type of particle effect you
Painting and Compositing
want. You can make natural phenomena, such as smoke, fire, and rain,
but you can also use objects or characters act in a simulated Softimage has a built-in compositor, called Softimage Illusion.
environment: rocks tumbling, glass pieces breaking, grass or hair Softimage Illusion is designed to edit textures and image-based lighting
growing, or humans running about. in real time. You can use it to rough out final shots, touch up your
textures, morph, warp and rig images, create custom mattes, and tweak
Shaders and Texturing the results of a multi-pass render, all within Softimage.
Using a graphical node-based connection tool called the render tree,
you can create an unlimited range of materials by connecting any type
of shader to any object. You can also project 2D and 3D textures into
texture spaces, which can then be manipulated like a 3D object.

10 • Softimage
About this Guide
This guide provides an overview of the main features, tools, and
workflows of Softimage, helping you get a headstart in understanding
and using the software:
• If you’re new to Softimage, it gives you a foot in the proverbial
Softimage door. You may be new to 3D, or just new to Softimage
but familiar with other 3D software packages. Either way, you can
skim through this guide and quickly see what’s possible in
Softimage, as well as discover what the different tools and elements
are called.
• If you’re an old hand at Softimage, this guide may provide you with
a quick start for areas of Softimage that you’ve never needed to use
before. For example, if modeling is your thing and now you have to
do some animation, this guide can help you get a sense of what’s
possible in animation and what tools you can use.
This guide has been updated for Softimage 2010, but because it covers
the fundamental concepts and workflows of Softimage, the
information it contains will apply to Softimage well beyond this
version.
If you’re eager to take Softimage for a spin, there’s enough information
in this guide to get you started without needing to do more homework.
Many workflow overviews are included, as well as command names
that tell you where to find things.
Remember that all the detailed information and procedures are
covered in the Softimage User’s Guide and the Softimage SDK Guide
available from the Help menu on the main menu bar in Softimage (or
press the F1 key): we’ve just filtered out the main goodies for you here.
Now, go fire up Softimage and have some fun!
The Softimage Documentation Team

Basics • 11
Welcome to Autodesk® Softimage®!

12 • Softimage
Section 1

Introducing Softimage
New to Softimage? Take a quick guided tour through
the interface and basic operations.

What you’ll find in this section ...


• The Softimage Interface
• Getting Commands and Tools
• Setting Values for Properties
• Working with Views
• Working in 3D Views
• Exploring Your Scene

Basics • 13
Section 1 • Introducing Softimage

The Softimage Interface


Welcome to your new home—the Softimage interface. The interface is can toggle parts of the standard layout using View > Optional Panels.
composed of several toolbars and panels surrounding the viewports Other layouts are available from the View > Layouts menu. You can
that display the elements in your scene. Each part of the interface is even create your own layout for a customized workflow.
designed to help you accomplish different aspects of your work.
Softimage has many preferences for many tools, editors, and working
The image below shows the default layout. Take a minute to become methods (choose File > Preferences). If you want to change something,
familiar with the names and locations of the parts of the interface. You chances are there’s a preference for it!

A B
C

14 • Softimage
The Softimage Interface

Sample Content
A Title bar
Displays the version of Softimage, your license type, and the name Softimage ships with a sample database XSI_SAMPLES containing
of the open project and scene. scenes, models, presets, scripts, and other goodies. Open a Softimage
file browser (View > General > Browser or press 5 at the top of the
B Viewports
keyboard), then click Paths and choose Sample Project.
Lets you view the contents of your scene in different ways. You can
resize, hide, and mute viewports in any combination.
See Working with Views on page 21 for details.

C Main menu bar

D Main Toolbar
Contains commands and tools for different aspects of 3D work.
Press 1 for the Model toolbar, 2 for Animate, 3 for Render, 4 for
Simulate, and Ctrl+2 for Hair. You can also access these controls
from the main menu bar.
For more information about other controls that can be displayed in
this area, see The Main Toolbar, Weight Paint Panel, and Palette
Toolbar on page 16 and Switching Toolbars on page 16.

E Icons
Switch between toolbar and other panels, or choose viewport
presets.
See The Main Toolbar, Weight Paint Panel, and Palette Toolbar on
page 16 as well as Viewport Presets on page 22 for details.

F Main command panel (MCP)


Contains frequently used commands grouped by category. Switch
between the MCP, KP/L, and MAT panels using the tabs at lower
right.
See The MCP, KP/L, and MAT Panels on page 17 for details.

G Lower interface controls


The controls at the bottom of the interface include a command box,
script editor icon, the mouse/status line, the timeline, the playback
panel, and the animation panel.

Basics • 15
Section 1 • Introducing Softimage

Getting Commands and Tools


There are several different types of menus in Softimage. Each menu The Main Toolbar, Weight Paint Panel, and Palette
typically contains a mixture of commands and tools: Toolbar
• Commands have an immediate effect on the scene, for example, The three buttons at the lower left switch between the main toolbar, the
duplicating the selected object. weight paint panel, and the palette:
• Tools activate a mode that requires mouse interaction, for example,
selecting elements, translating an object, orbiting the camera, or Main toolbar Palette
drawing polygons and curves. A tool stays active until you
deactivate it by pressing Esc or by activating a different tool.
Weight paint panel
Menu Buttons • The main toolbar is where you’ll do most of your work.
Buttons with a triangle open up a menu of commands • The weight paint panel contains a specialized layout for editing
and tools. You can middle-click on a menu button to envelope weights. See The Weight Paint Panel on page 182.
repeat the last action you performed on that menu.
• The palette contains some wire color and display mode presets, as
well as a custom toolbar where you can store custom commands.
Context Menus
You can right-click on elements in the views to open a menu with items Switching Toolbars
that relate to the element under the mouse pointer. This is a quick and
convenient way to access commands and tools, for example, when The main toolbar on the left side of the interface
modeling. can display categories for modeling, animation,
rendering, simulation, and hair. You can switch
• In the explorer or schematic view, right-click on an element to between these categories by clicking on the
open its context menu. toolbar’s title as shown at right, or by pressing 1,
2, 3, 4, or Ctrl+2 (use the number keys at the top
• In a 3D view, Alt+right-click (Ctrl+Alt+right-click on Linux) on
an object to open its context menu, or on the background to open of the keyboard, not on the numeric keypad).
the Camera View menu. If you prefer, you can also access the same
commands from the main menu bar:
• When object components like points, polygons, or edges are
selected, right-click anywhere on the object for the selected
components’ context menu. Right-click anywhere else for the
Camera View menu.
• Some tools like the Tweak Components tool have their own right-
click menus with options specific for each tool.

16 • Softimage
Getting Commands and Tools

The MCP, KP/L, and MAT Panels Tearing Off Menus


The three tabs at the bottom of the panel on the To tear off a menu, click on the dotted line at the top
right side of the interface switch between the of a menu or submenu and drag to any area in the
MCP, KP/L, and MAT panels: interface.
• MCP is the main command panel. It is The menu stays open in a floating window until you
divided into sub-panels with controls for close it.
selection, transformation, constraints,
snapping, and editing. The tools and commands available here are Hotkeys: Sticky or Supra
described in context throughout this guide.
Using hotkeys, tools can be activated in either of two
• KP/L contains the keying panel as well as controls for working with modes:
animation and scene layers. See Keying Parameters in the Keying
Panel on page 147, Layering Animation on page 159, and Scene • Sticky: Press and release the key quickly. The
Layers on page 49. tool stays active until you activate a different tool
or press Esc.
• MAT is the material panel. It provides similar controls to the
texture layer editor, but in a different arrangement. See Texture • Supra: Press and hold the key to temporarily override the current
Layers on page 338. tool. The new tool stays active only while the key is held down.
When you release the key, the previous tool is reactivated.
Collapsing MCP Panels
Repeating Commands and Tools
You can collapse panels in the MCP by right-
clicking on their main menu buttons. To Press . (period) to repeat the last command, and press , (comma) to
expand a collapsed panel, simply right-click on reactivate the last tool (other than selection, navigation, or
it again. This is useful when working on small transformation).
monitors, like on laptops.

Basics • 17
Section 1 • Introducing Softimage

Setting Values for Properties


Property editors are where you’ll find an element’s properties. They are
A The title bar of the property shows the name of the element being
a basic tool that you use constantly to define and modify elements in a
edited. When multiple elements are selected for editing, the title bar
scene. Select an object or property and press Enter to open its property shows “multi”.
editor, or click its icon in an explorer. In addition to property editors,
you can enter values in many of the text boxes in the main command B Control how property editors update:
panel, such as the Transform panel, and use virtual sliders to change • Focus updates only for properties of the same type when other
values for marked parameters in the explorer. elements are selected.
• Recycle updates with the properties of the currently selected
A B elements.
• Lock does not update when other elements are selected.
C D E C Click the key button to set or remove a key on all parameters in all
property sets in the editor.
F Right-click the key button to access a menu of commands that affect
all parameters.
G Use the arrows to move between next and previous keys on any
parameter.

D The arrow buttons move along the sequence of property editors (up a
H
level, previous, and next).
I
E Revert changes, or save and load presets.
J
F Use the tabs to quickly move between different property sets in an
editor.
Click the triangle to collapse a property set (like Scene Material in this
picture) or expand it (like Phong).
For help on the parameters in a property set, click the corresponding
help icon (?).
K
G Within a property set like Phong, tabs switch between groups of
L parameters.

H The animation icon shows if and how the parameter is animated.


Click to set or remove a key.
Right-click to access animation commands for that parameter.

I Drag a slider to change values.


To change R, G, and B values simultaneously for a color, press Ctrl
while dragging any one of them.

18 • Softimage
Setting Values for Properties

J Type a numerical value in a text box to change the parameter’s values


Entering Values Outside of Slider Ranges
precisely. You can sometimes enter values beyond the slider range. Many parameters with sliders let you set values outside of the slider
• Drag the mouse in a circular motion over the text box to change range. For example, the range of the Local Transform property editor’s
values (scrubbing). Scrub clockwise to increase and counterclockwise
to decrease.
Position sliders is between -50 and +50, but objects can be much
farther from their parent’s origin than that.
• Increment values using [ and ]. Ctrl and Shift change the increment
size. For example, press Ctrl+] to increment by 10. You can also press If a parameter supports values outside of the slider range, you can set
Ctrl or Shift with the arrow keys to change values by increments.
such values by typing them into the associated numeric box or by
• Enter relative values with the addition (+), subtraction (-), pressing Alt while using the virtual slider tool.
multiplication (*), and division (/) symbols after the value. For
example, 2- decreases the value by 2. On the other hand, -2 enters When you set a value outside the slider range, the displayed range
negative two.
automatically expands to twice the current value. For example, if the
• With multiple elements, use l(min, max) for a linear range, r(min,
default range of a parameter is between 0 and 10 and you set the value
max) for random values, and g(mean, var) for a normal
distribution. to 15, the new range is 0 to 30. However, the change is not
permanent—if you set the parameter to a value within the default
K Click a color box to open the color editors, from which you can pick or range and then close and reopen the property editor, the displayed
define the colors you want. See Color Editors on page 20.
range is back to its default.
You can copy colors by dragging and dropping one color box onto
another.
Virtual Sliders
Click the label below the box to cycle the color space for the sliders
through RGB, HLS, and HSV. Virtual sliders let you do the job of a slider without
L The connection icon links a parameter value to a shader, weight map, having to open up a property editor. Select one or
or texture map which modulates it. more objects, mark the desired parameters, then
Click the icon to inspect the connected element, or right-click for press F4 and middle-drag in a 3D view. Use Ctrl,
options. Shift, and Ctrl+Shift to change increments, and
Alt to extend beyond the slider’s display range.

Basics • 19
Section 1 • Introducing Softimage

Color Editors E To pick a color:


Instead of using the RGB color sliders, you can click on a color box to • Click the color picker button (the eyedropper) and click anywhere in
open a color editor. the Softimage window. This tool can be especially useful when
trying to match a color in the Image Clip editor.
A • On Windows systems, you can click outside of the Softimage
window to pick a color, even though the mouse pointer does not
show that the color picker is active outside of the window. This does
not work on Linux systems, but you can import an image clip and
load it into the Image Clip editor as a workaround.
• To cancel the color picker, click the right mouse button.
The color picker takes the color you see on the screen rather than the
true color of the objects. There may be rounding errors because most
display adapters have only 256 levels for each of the RGB channels.
G
B F Click on the browse (...) button to open the full color editor, where
H
you can use additional controls.
I
C
G Click the palette button to choose a preset color.

D H Click the “>” button to open the menu shown.


J I The Color Area commands specify the configuration of the color area
and slider.

J The Numeric Entry commands select the color model for the numeric
E F K boxes.
L
K The Normalized option specifies whether numeric values are
represented as real numbers in the range [0.0–1.0] or as integers in
A To set a color, click in the color area and then adjust it using the slider. the range [0, 255].
To select which color components appear in the color area and which
one appears on the slider, click the “>” button. L The Gamma Correction option toggles gamma correction display for
all color controls in the color editor.
B The color box on the left shows the previous color for reference.

C The color box on the right shows the current color.

D Use the numeric boxes to set color values precisely. To select a color
model, click the “>” button.

20 • Softimage
Working with Views

Working with Views


Views provide a window into the current scene, whether they display a • Any spotlights that are present in your scene.
3D view of geometric objects such as in the Camera view or a
• The Object view, which shows the selected object in isolation.
hierarchical view of the data such as in the explorer. Views can be
displayed docked in a viewport, or floating in separate windows. See Working in 3D Views on page 23.
The other views include alternative representations of your scene data
Views Docked in the Viewports
such as the explorer or the schematic views (see Exploring Your Scene
There are four viewports in the view manager at the center of the on page 32), as well as tools for specialized tasks.
default Softimage layout. Each viewport is identified by a letter. When
you start Softimage, viewport A (top left) shows the Top orthographic Resizing Viewports
view, viewport B (top right) shows the Camera perspective view, Viewports can be resized, maximized, or expanded vertically and
viewport C (bottom left) shows the Front orthographic view, and horizontally. Drag the horizontal and vertical splitter bars (or their
viewport D (bottom right) shows the Right orthographic view. intersection) to resize the viewports. Middle-click the bars to reset
them.
Switching Views in the Viewports
You can change the view displayed by a viewport using the menu on
the left of its title bar. Middle-click to display the previous view.

The 3D views show the geometry of your scene and include:


• Any cameras that are present in your scene.
• The orthographic Top, Front, and Right views.
• The User view, which is not a real camera but an extra perspective
view that you can navigate in without modifying your main camera
setup or its animation.

Basics • 21
Section 1 • Introducing Softimage

Use the Resize icon at the right of a viewport’s Floating Views


toolbar to maximize, expand, and restore:
You can open views as floating windows using the first group of
• Left-click to maximize a viewport, or submenus on the Views menu. Some floating views also have shortcut
restore a maximized viewport. keys. Depending on the type of view, you can have multiple windows of
Alternatively, press F12 while the pointer is the same type open at the same time.
over the viewport.
You can adjust floating windows in the usual ways:
• Middle-click to expand or restore
horizontally. • To move a window, drag its title bar.

• Ctrl+middle-click to expand or restore vertically. • To resize a window, drag its borders.

• Right-click on the Resize icon to open a menu as shown. • To bring a window to the front and display it on top of other
windows, click in it.
Viewport Presets • To close a window, click x in the top right corner.
Instead of switching views and resizing viewports • To minimize a window, click _ in the top right corner.
manually, you can use the buttons at the lower left to
display various preset combinations. You can cycle through all open windows, whether minimized or not,
using Ctrl+Tab. Use Shift+Ctrl+Tab to cycle backwards.
Muting and Soloing Viewports
You can collapse a floating view by double-clicking on its title bar.
The letter identifier in the upper-left corner of the title bar allows you When collapsed, only the title bar is visible and you can still move it
to mute and solo viewports. Muting a viewport’s neighbors helps speed around by dragging. To expand a collapsed view, double-click on the
up its refresh rate. title bar again; the view is restored at its current location.
• Middle-click the letter to mute the viewport. A muted
viewport does not update until you un-mute it. The letter A Word about the Active Window
of a muted viewport is displayed in orange. Middle-click The active window is always the one directly under the mouse
the letter again to un-mute the viewport. pointer—it’s the one that has “focus” and accepts keyboard and mouse
• Click the letter to solo the viewport. Soloing a viewport input even if it is not on top.
mutes all the others. The letter of a soloed viewport is For example, you can open a floating explorer window, then move the
displayed in green. Middle-click the letter again to un-solo pointer over the camera viewport and press F to frame the selected
the viewport. elements. If you pressed F while the pointer was still over the explorer,
To control how viewports update when playing back animation, see the list would have expanded and scrolled to find the next selected
Selecting a Viewport for Playback on page 143. object.
Be careful that you don’t accidentally send commands to the wrong
window.

22 • Softimage
Working in 3D Views

Working in 3D Views
3D views are where you view, edit, and manipulate the geometric elements
A Viewport letter identifier: Click to solo the viewport or middle-click
of your scene.
to mute it.

A B C D E F G H B Views menu: Choose which view to display in the viewport.

C Memo cams: Store up to 4 views for quick recall. Left click to recall,
middle-click to save, Ctrl+middle-click to overwrite, and right-click to
clear.

D Camera icon menu: Navigate and frame elements in the scene.

E Eye icon menu (Show menu): Specify which object types,


components, and attributes are visible in the viewports. Hold down
the Shift key to keep the menu open while you choose multiple
options.

F XYZ buttons: Click on X to view the right side, Y to view the top
side, and Z to show the front side. Middle-click to view the left, back,
and bottom sides respectively. These commands change the
viewpoint but you can still orbit afterwards unlike in the Top, Front,
and Right views selected from the Views menu. Click again to return
to the previous viewpoint.

G Display Mode menu: Specifies how scene elements are displayed:


wireframe, shaded, and other options.

H Resize icon: Resizes viewports to full-screen, horizontal, or vertical


layouts.
• Click to maximize and restore.
• Middle-click to maximize and restore horizontally.
• Ctrl+middle-click to maximize and restore vertically.
• Right-click for a menu.

Basics • 23
Section 1 • Introducing Softimage

Types of 3D Views The Top, Front, and Right views are also orthographic, which means
that the viewpoint is perpendicular (orthogonal) to specific planes:
There are many ways to view your scene in the 3D views. These viewing
modes are available from the Views menu in viewports and from the • The Top view faces the XZ plane.
View menu in the object view.
• The Front view faces the XY plane.
Except for camera views, all of the viewing modes are “viewpoints”.
• The Right view faces the YZ plane.
Like camera views, viewpoints show you the geometry of objects in a
scene. They can be previewed in the render region, but they cannot be You cannot orbit the camera in an orthographic view.
rendered to file like camera views.

Camera Views Top

Camera views let you display your scene in a 3D view from the point of
view of a particular camera. You can also choose to display the
viewpoint of the camera associated to the current render pass.
The Render Pass view is also a camera view: it shows the viewpoint of
the particular camera associated to the current render pass. Only a
camera associated to a render pass is used in a final render.

Spotlight Views
Spotlight views let you select from a list of spotlights available in the
scene. Selecting a spotlight from this list switches the point of view in
the active 3D view relative to the chosen spotlight. The point of view is Front
set according to the direction of the light cone defined for the chosen Right
spotlight.

Top, Front, and Right Views User View (Viewports Only)


The Top, Front, and Right views are parallel projection views, called The User view is a viewpoint that shows objects in a scene from a
such because the object’s projection lines do not converge in these virtual camera’s point of view, but is not actually linked to a scene
views. Because of this, the distance between an object and the camera or spot light.
viewpoint has no influence on the scale of the object. If one object is
The User point of view can be placed at any position and at any angle.
close and an identical object is farther away, both appear to be the same
You can orbit, dolly, zoom, and pan in this view. It’s useful for
size.
navigating the scene without changing the render camera’s position
and zoom settings.

24 • Softimage
Working in 3D Views

The Object View


A View menu: Choose the viewpoint to display, and set various
The object view is a 3D view that displays only the selected scene viewing options. This is similar to the viewports’ Views menu, but
elements. It has standard display and show menus, and works the same includes special viewing controls for the object view.
way as any 3D view in most respects. Selection, navigation, framing, and B Show menu (equivalent to the eye icon menu): Specify which object
so on work as they do in any viewport. There are also some custom types, components, and attributes are visible in the viewports. Hold
viewing options, available from the object view’s View menu, that make down the Shift key to keep the menu open while you choose multiple
it easier to work with local 3D selections. options.

To open the object view, do one of the following: C Memo cams: Store up to 4 views for quick recall. Left click to recall,
middle-click to save, Ctrl+middle-click to overwrite, and right-click to
• From any viewport’s views menu, choose Object View. clear.

or D XYZ buttons: Click on X to view the right side, Y to view the top
side, and Z to show the front side. Middle-click to view the left, back,
• From the main menu, choose View > General > Object View. and bottom sides respectively. These commands change the
viewpoint but you can still orbit afterwards unlike in the Top, Front,
A B C C E F G and Right views in viewports. Also unlike in the viewports, they are
not temporary overrides and you cannot click them again to return to
the previous viewpoint.

E Lock: Prevent the view from updating when you select a different
object in another view. Click again to unlock.

F Update: Refresh the view if it is locked.

G Display Mode menu: Specifies how scene elements are displayed:


wireframe, shaded, and other options.

Basics • 25
Section 1 • Introducing Softimage

Navigating in 3D Views Tool or


Key Description
In 3D views, a set of navigation controls and shortcut keys lets you Command
control the viewpoint. You can use these controls and keys to zoom in Pan/Zoom Z Moves the camera laterally, or changes the field
and out, frame objects, as well as orbit, track, and dolly among other of view:
things. • Pan (track) with the left mouse button.
• Zoom in with the middle mouse button.
Activating Navigation Tools
• Zoom out with the right mouse button.
Most navigation tools have a corresponding shortcut key so you can In your Tools > Camera preferences, you can
quickly activate them from the keyboard. However, some tools are only activate Zoom On Cursor to center the zoom
available from a viewport’s camera icon menu. In either case, activating wherever the mouse pointer is located.
a navigation tool makes it the current tool for all 3D views, including Rectangular Shift+Z Zooms onto a specific area:
object views which do not have an equivalent to the camera icon menu. Zoom • Draw a diagonal with the left mouse button to
fit the corresponding rectangle in the view.
Selecting navigation tools from • Draw a diagonal with the right mouse button
the camera icon menu activates to fit the current view in the corresponding
them for all 3D views. rectangle.
In perspective (non-orthographic) views,
rectangular zoom activates pixel zoom
After you activate a tool, check the mouse bar at the bottom of the mode , which offsets and enlarges the view
Softimage interface to see which mouse button does what. without changing the camera’s pose or field of
view.

Tool or Orbit O Rotates a camera, spotlight, or user viewpoint


Key Description
Command around its point of interest. This is sometimes
called tumbling or arc rotation.
Zoom mouse By default, zooms in and out in various views • Use the left mouse button to orbit freely.
wheel and editors.
• Use the middle mouse button to orbit
You can control how the mouse wheel is used horizontally.
for zooming in your Tools > Camera preferences.
• Use the right mouse button to orbit vertically.
Navigation S Combines the most common navigation tools: In your Tools > Camera preferences, you can set
• Pan (track) with the left mouse button. Orbit Around Selection.
• Dolly with the middle mouse button. Dolly P Moves the camera forward and back. Use the
• Orbit with the right mouse button. different mouse buttons to dolly at different
In your Tools > Camera preferences, you can speeds. In orthographic views, dollying is
change the order of the mouse buttons as well equivalent to zooming.
as remap this tool to the Alt key.

26 • Softimage
Working in 3D Views

Tool or
Display Modes
Key Description
Command You can display scene objects in different ways by choosing various
Roll L Rotates a perspective view along its Z axis. Use display modes from a 3D view’s Display Mode menu. The Display
the different mouse buttons to roll at different Mode menu always displays the name of the current display mode,
speeds. such as Wireframe.
Frame F Frames the selected elements in the view under
the mouse pointer.

Frame Shift+F Frames the selected elements in all open views. Wireframe
(All Views)
Shows the geometric object made up of
Frame All A Frames the entire scene in the view under the its edges, drawn as lines resembling a
mouse pointer. model made of wire. This image
Frame All Shift+A Frames the entire scene in all open views.
displays all edges without removing
(All Views) hidden parts or filling surfaces.

Center Alt+C Centers the selected elements in the view under


the mouse pointer. Centering is similar to
framing, but without any zooming or dollying.
The camera is tracked horizontally and vertically
so that the selected elements are at the center
of the viewport.

Center Shift+ Centers the selected elements in all open views.


(All Views) Alt+C
Bounding Box
Reset R Resets the view under the mouse pointer to its
default viewpoint. Reduces all scene objects to simple
cubes. This speeds up the redrawing of
the scene because fewer details are
In addition to the above, there are other tools available on the camera
calculated in the screen refresh.
icon menu, such as pivot, walk, fly, and so on.

Undoing Camera Navigation


As you navigate in a 3D view, you may want to undo one or more
camera moves. Luckily, there is a separate camera undo stack that lets
you undo navigation in 3D views.
To undo a camera move, press Alt+Z. To redo an undone camera
move, press Alt+Y.

Basics • 27
Section 1 • Introducing Softimage

Depth Cue Constant


Applies a fade to visible objects, based Ignores the orientation of surfaces and
on their distance from the camera, in instead considers them to be pointing
order to convey depth. You can set the directly toward an infinite light source.
depth cue range to the scene, selection, All the object’s surface triangles are
or a custom start and end point. Objects considered to have the same orientation
within the range fade as they near the and be the same distance from the light.
edge of the range, while objects This results in an object that appears to
completely outside the range are made have no shading.
invisible. You can also display depth cue
This mode is useful when you want to
fog to give a stronger indication of
concentrate on the silhouettes of
fading.
objects.

Hidden Line Removal Shaded


Shows only the edges of objects that are Provides an OpenGL hardware-shaded
facing the camera. Edges that are hidden view of your scene that shows shading,
from view by the surface in front of material color, and transparency, but
them are not displayed. not textures, shadows, reflections, or
refraction. By default, selected objects
have their wireframes superimposed,
making it easy to manipulate points and
other components.

28 • Softimage
Working in 3D Views

Textured Realtime Shaders


Similar to Shaded, but also shows Evaluates the real-time shaders that
image-based textures (not procedural have been applied to objects. In the
textures). example shown here, the same textures
have been used as for the non-realtime
shaders, so the result is similar to the
textured mode.Several realtime display
modes are available, depending on your
graphics card:
• OpenGL: displays realtime shader
attributes for objects that have been
textured using OpenGL realtime
shaders.
Textured Decal • Cg: displays realtime shader
This is like the textured, viewing mode, attributes for objects that have been
but textures are displayed with constant textured using Cg realtime shaders
lighting. The net effect is a general as well as Softimage’s Cg-compatible
“brightening” of your textures and an MetaShaders.
absence of shadow. This allows you to • DirectX: displays realtime shader
see a texture on any part of an object attributes for objects that have been
regardless of how well that part is lit. textured using DirectX realtime
shaders.

Basics • 29
Section 1 • Introducing Softimage

Rotoscopy • On the other hand, rotoscoped images that are displayed in the
orthographic views (Front, Top, and Right) have the Image
Rotoscopy is the use of images in the background of the 3D views. You Placement option set to Fixed by default. This allows you to
can use rotoscopy in different 3D views (Front, Top, Right, User, navigate the camera while modeling without losing the alignment
Camera, etc.) and any display mode (Wireframe, Shaded, etc.). between the image and the modeled geometry.
Furthermore, you can use different images for each view.
Fixed images are sometimes called image planes, and they can be
• Single images are useful as guides for modeling in the orthographic displayed in all views, not just the one for which they were defined.
views.
• Image sequences or clips are useful for matching animation with Fixed
footage of live action in the perspective views.
To load an image in a view, choose Rotoscope from the Display Mode
menu and select an image and other options.
There are two types of rotoscoped images:
• By default, rotoscoped images in perspective views have Image
Placement set to Attached to Camera. This means that they follow
the camera as it moves and zooms so that you can match animation
with live action plates.

Attached
to Camera

Navigating with Images Attached to the Camera


Normally when a rotoscoped image or sequence is attached to the
camera, it is fully displayed in the background no matter how the
camera is zoomed, panned, or framed. However you can activate Pixel
Zoom mode if you need to maintain the alignment between objects in
the scene and the background, for example if you want to temporarily
zoom into a portion of the scene.

Pixel Zoom

30 • Softimage
Working in 3D Views

In Pixel Zoom mode, you can: Object Visibility


• Zoom (Z + middle or right mouse button, S + middle mouse Each object in the scene has its own set of visibility controls that allow
button) you to control how objects appear in the scene, or whether they appear
at all, as well as how shadows, reflections, transparency, final gathering,
• Pan (Z + left mouse button, S + left mouse button)
and other attributes are rendered.
• Frame (F for selection, A for all)
For example, you may wish to temporarily exclude objects from a
The original view is restored when you exit Pixel Zoom mode. Be render but retain them in the scene. This can come in handy when you
careful not to orbit, dolly, roll, pivot, or track because these actions are working with complex objects and want to reduce lengthy refresh
change the camera’s transformations and will not be undone when you times.
deactivate Pixel Zoom.
You can open an object’s Visibility property editor from the explorer by
clicking the Visibility icon in the object’s hierarchy.
Setting Viewing Options and Preferences
Object Display
There are several places you can go to set options and preferences
related to viewing. You can control how individual objects are displayed in a 3D view.
Giving an object or objects different display characteristics is
Colors particularly useful for heavily-animated scenes.
You can modify scene, element, and component colors (such as the For example, if you want to tweak a static object within a scene that has a
viewport background) by choosing Scene Colors from any viewport’s complex animated character, you could set the character in wireframe
camera icon menu. For instance, by default a selected object is display mode while adjusting the lighting of your static object in shaded
displayed in white and an unselected object is displayed in black; points mode.
are displayed in blue, knots are displayed in brown, and so on.
You can open an object’s Display property editor from the explorer by
Camera and 3D Views Display clicking the Display icon in the object’s hierarchy.
You can set display options to control how cameras and views display
scene objects. These camera display options can be set for individual
3D views, or for all 3D views at once.
• To open an individual 3D view’s Camera Display property editor,
choose Display Options from any viewport or object view’s Display
Mode menu.
• To open the Camera Display property editor for all 3D views, The ability to view different objects in different display modes works
choose Display > Display Options (all cameras) from the main only when you turn off Override Object Properties in a view’s Display
menu. Mode menu.

Basics • 31
Section 1 • Introducing Softimage

Exploring Your Scene


Three of the most important tools for exploring your scene are the
explorer, the quick filter box, and the schematic.

The Explorer
The explorer displays the contents of your scene in a hierarchical
A Scope of elements to view. See Setting the
structure called a tree. This tree can show objects as well as their
Scope of the Explorer on page 33.
properties as a list of nodes that expand from the top root. You
normally use the explorer as an adjunct while working in Softimage, B Viewing and sorting options.
for example, to find or select elements.
C Filters for displaying element types. See Filtering
To open an explorer in a floating window, press 8 at the top of the the Display on page 33.
keyboard, or choose View > General > Explorer from the main menu. D Lock and update. This works only when the
scope is set to Selection.
A B C D E
E Search by name, type, or keyword.

F Expand and collapse the tree.

G Click an icon to open property editor.

H Click a name to select. Use Shift to select ranges


and Ctrl to toggle-select.
F Middle-click to branch-select.
Right-click for a context menu.
G
I You can pan the view by dragging up and down
in an empty area within the explorer.
I You can also use the mouse wheel to scroll up
and down. First make sure the explorer has
focus by clicking anywhere in the explorer.
H

32 • Softimage
Exploring Your Scene

Keeping Track of Selected Elements The Selection option in the explorer’s scope menu isolates the selected
object. If you click the Lock button with the Selection option active,
If you have selected objects, their nodes are highlighted in the explorer.
the explorer continues to display the property nodes of the currently
If their nodes are not visible, choose View > Find Next Selected Node.
selected objects, even if you go on to select other objects in other views.
The explorer scrolls up or down to display the first object node in the
When Lock is on, you can also select another object and click Update
order of its selection. Each time you choose this option, the explorer
to lock on to it and update the display.
scrolls up or down to display the next selected node. After the last
selected item, the explorer goes back to the first. Filtering the Display
Choose View > Track Selection if you want to automatically scroll the Filters control which types of nodes are displayed in the explorer. For
explorer so that the node of the first selected object is always visible. example, you can choose to display objects only, or objects and
properties but not clusters nor parameters, and so on. By displaying
Setting the Scope of the Explorer
exactly the types of elements you want to work with, you can find
The Scope button determines the range of elements to display. You can things more quickly without scrolling through a forest of nodes.
display entire scenes, specific parts, and so on.
The basic filters are available on the Filters menu (between the View
menu and the Lock button). The label on the menu button shows the
A current filter. The filters that are available on the menu depend on the
scope. For example, when the scope is Scene Root, the Filters menu
offers several different preset combinations of filters, followed by
specific filters that you can toggle on or off individually.

Preset display filter combinations.

A Click the Scope button to select the range of elements to view.

B The current scope is indicated by the button label. It is also bulleted


in the list.

C The bold item in the menu indicates the last selected scope. Middle-
click the Scope button to quickly select this view. Individual display filter toggles.

Basics • 33
Section 1 • Introducing Softimage

Other Explorer Views The Quick Filter Box


You can view other smaller versions of the explorer (pop-up explorers) The Quick Filter box on the main Softimage menu bar lets you find
elsewhere in the interface. They are used to view the properties of scene objects by name.
selected scene elements.
A B C D
Select Panel Explorer
Explorer filter buttons in the Select panel offer a shortcut by instantly
displaying filtered information on specific aspects of currently selected
objects.

E
A F

1
2 A Enter part of the name to search for. Softimage waits for you to
pause typing before it displays the search results. You can continue
A Explorer filter buttons typing to modify the search string, and the updated results will be
displayed when you pause again.
1 Example: Click the Selection filter button...
Softimage finds the elements that contain the search string anywhere
2 ...to display a pop-up explorer showing all property nodes associated in their names (substring search). Strings are not case-sensitive.
with the selected object. Alternatively, you can also use wildcards and a subset of regex
(regular expressions) just like in the explorer.
The Explore button opens a pop-up menu of additional filters for B Recall a recent search string.
specifying the type of information you wish to obtain on the scene.
C Clear the search string and close the search results.
Click outside a pop-up explorer to close it.
D Open the floating Scene Search window with the current search and
Object Explorers additional options.

You can quickly display a pop-up explorer for a single object—just


select the object and press Shift+F3. If the object has no synoptic
property or annotation, you can press simply F3. Click outside the
pop-up explorer or press those keys again to close it.

34 • Softimage
Exploring Your Scene

E The search results are listed here. They obey the current settings in
The Schematic View
the Scene Search view for sorting and name/path display. The schematic view presents the scene in a hierarchical structure so
• To select an element, click on it. that you can analyze the way a scene is constructed. It includes
• To select a range of elements, click on the first one and then graphical links that show the relationships between objects, as well as
Shift+click on the last one. material and texture nodes to indicate how each object is defined.
• To toggle-select an element, Ctrl+click on it.
• To deselect an element, Ctrl+Shift+click on it. To open a schematic view in a floating window, press 9 at the top of the
• To rectangle-select a range of elements, click in the background first
keyboard, or choose View > General > Schematic from the main
and then drag across the elements to select. This is easier if only menu.
names are displayed, rather than paths.
• Press the spacebar to click and select nodes. Use the left mouse
• To select all elements found, press Ctrl+A.
button for node selection, the middle mouse button for branch
• To rename the selected elements, press F2.
selection, and the right mouse button for tree selection.
• Right-click on any element for a context menu. If you right-click on
a selected element, then some commands apply to all selected • Press M to click and drag nodes to new locations. The schematic
elements. remembers the location of nodes, so you can arrange them as you
F To dismiss the list of results, click anywhere outside the pop-up or please.
press Escape.
• Press s or z to pan and zoom.
Relationships between elements are displayed as lines called links. You
can display or hide links for different types of relationship using the
Show menu.
You can also click a parent-child link to select the child. This is useful if
you have located the parent but can’t find the child in a jumbled
hierarchy. Again, use the left, middle, or right mouse buttons to select
the child in node, branch, or tree modes.
When other types of link are displayed, you can click and drag across
the link to select the corresponding operator, such as a constraint or
expression. When a link is selected, you can press Enter to open the
property editor related to the associated relationship (if applicable), or
press Delete to remove the operator.

Basics • 35
Section 1 • Introducing Softimage

A Scope: Show the entire scene, the current selection, or the current
layer.

B Edit: Access navigation and selection commands.

C Show: Set filters that specify which elements to display.


A B C D E F G
D View: Set various viewing options.

E Memo cams: Store up to 4 views for quick recall. Left click to recall,
middle-click to save, Ctrl+middle-click to overwrite, and right-click to
clear.

F Lock: Prevent the view from updating when you select a different
object in another view (if Scope = Selection). Click again to unlock.

G Update: Refresh the view if it is locked.

H To select a node, click its label. Middle-click to branch-select and


right-click to tree-select.
To open a node’s property editor, click its icon or double-click its label.
Alt+right-click (Ctrl+Alt+right-click on Linux) on a node to open a
context menu for the node.
H Press F2 to rename the selected node.

I Alt+right-click (Ctrl+Alt+right-click on Linux) in an empty area to


quickly access a number of viewing and navigation commands.

36 • Softimage
Section 2

Elements of a Scene
This section provides a guide to the objects,
properties, and components you will find in
Softimage scenes, and describes some of the
workflows for working with them.

What you’ll find in this section ...


• What’s in a Scene?
• Selecting Elements
• Objects
• Properties
• Components and Clusters
• Parameter Maps

Basics • 37
Section 2 • Elements of a Scene

What’s in a Scene?
Scenes contain objects. In turn, objects can have components and Properties
properties.
Properties control how an object looks and behaves: its color, position,
selectability, and so on. Each property contains one or more
Objects
parameters that can be set to different values.
Objects are elements that you can put in your scene. They have a
Properties can be applied to elements directly, or they can be applied at
position in space, and can be transformed by translating, rotating, and
a higher level and passed down (propagated) to the children elements
scaling. Examples of objects include lights, cameras, bones, nulls, and
in a hierarchy.
geometric objects. Geometric objects are those with points, such as
polygon meshes, surfaces, curves, particles, hair, and lattices.

Element Names
Components
All elements have a name. For example, if you choose Get >
Components are the subelements that define the shape of geometric Primitive > Polygon Mesh > Sphere, the new sphere is called sphere by
objects: points, edges, polygons, and so on. You can deform a default, but you can rename it if you want. In fact, it’s a good idea to get
geometric object by moving its components. Components can be into the habit of giving descriptive names to elements to keep your
grouped into clusters for ease of selection and other purposes. scenes understandable. You can see the names in the explorer and
schematic views, and you can even display them in the 3D views.
Points on different
geometry types: You can typically name an element when you create it. You can rename
polygon mesh, an object at any time by choosing Rename from a context menu or
curve, surface, and
lattice.
pressing F2 in the explorer or schematic.
Softimage restricts the valid characters in element names to a–z, A–Z,
0–9, and the underscore (_) to keep them variable-safe for scripting.
You can also use a hyphen (-) but it is not recommended. Invalid
characters are automatically converted to underscores. In addition,
element names cannot start with a digit; Softimage automatically adds
an underscore at the beginning. If necessary, Softimage adds a number
to the end of names to keep them unique within their namespace.

38 • Softimage
Selecting Elements

Selecting Elements
Selecting is fundamental to any software program. In Softimage, you
F Group/Cluster button: Selects groups and clusters.
select objects, components and other elements to modify and
manipulate them. G Center button: Not used for selection.

In Softimage, you can select any object, component, property, group, H Hierarchy navigation: Select an object’s sibling or parent.
cluster, operator, pass, partition, source, clip, and so on; in short, just
about anything that can appear in the explorer. The only thing that you Overview of Selection
can’t select are individual parameters—parameters are marked for
animation instead of selected. To select an object in a 3D or schematic view, press the space bar and
click on it. Use the left mouse button for single objects (nodes), the
A middle mouse button for branches, and the right mouse button for trees
F and chains.
B
G To select components, first select one or more geometric objects, then
press a hotkey for a component selection mode (such as T for rectangle
point selection), and click on the components. Use the middle mouse
C
button for clusters.
For elements with no predefined hotkey, you can manually activate a
D selection tool and a selection filter.
H
In all cases:
E
• Shift+click adds to the selection.

A Select menu: Access a variety of selection tools and commands. • Ctrl+click toggle-selects.

B Select icon: Reactivates the last active selection tool and filter. • Ctrl+Shift+click deselects.

C Filter buttons: Select objects or their components, such as points, • Alt lets you select loops and ranges. You can use Alt in combination
curves, etc. with Shift, Ctrl, and Ctrl+Shift.
D Object Selection and Sub-object Selection text boxes: Enter the
name of the object and its components you want to select. You can
use * and other wildcards to select multiple objects and properties.

E Explore menu and explorer filter buttons: Display the current


scene hierarchy, current selection, or the clusters or properties of the
current selection.
These buttons are particularly useful because they display pre-filtered
information but don’t take up a viewport.

Basics • 39
Section 2 • Elements of a Scene

Selection Hotkeys Selection Tools


To select something in the 3D views, a selection tool must be active.
Key Tool or action
Softimage offers a choice of several selection tools, each with a different
space bar Select objects with the Rectangle selection tool, in either mouse interaction: Rectangle, Lasso, Raycast, and others. The choice of
supra or sticky mode. selection tool is partly a matter of personal preference, and partly a
matter of what is easiest or best to use in a particular situation. They
E Select edges with the Rectangle selection tool, in either
supra or sticky mode.
are all available from the Select > Tools menu or hotkeys.

T Select points with the Rectangle selection tool, in either Rectangle Selection Tool
supra or sticky mode.
Rectangle selection is sometimes called marquee selection. You select
Y Select polygons with the Rectangle selection tool, in elements by dragging diagonally to define a rectangle that encompasses
either supra or sticky mode. the desired elements.
U Select polygons with the Raycast selection tool, in either
supra or sticky mode. Raycast Selection Tool

I Select edges with the Raycast selection tool, in either The Raycast tool casts rays from under the mouse pointer into the
supra or sticky mode. scene—elements that get hit by these rays as you click or drag the
mouse are affected. Raycast never selects elements that are occluded by
' (apostrophe) Select hair tips with the Rectangle selection tool, in either other elements.
supra or sticky mode.

F7 Activate Rectangle selection tool using current filter. Lasso Selection Tool
F8 Activate Lasso selection tool using current filter. The Lasso tool lets you select one or more
elements by drawing a free-form shape around
F9 Activate Freeform selection tool using current filter. them. This is especially useful for selecting
F10 Activate Raycast selection tool using current filter. irregularly shaped sets of components.

Shift+F10 Activate Rectangle-Raycast selection tool using current


filter.
Freeform Selection Tool
Ctrl+F7 Activate Object filter with current selection tool.
The Freeform tool lets you select elements by
Ctrl+F8 Activate Point filter with current selection tool. drawing a line across them. This is particularly
useful for selecting a series of edges when
Ctrl+F9 Activate Edge filter with current selection tool.
modeling with polygon meshes, or for selecting a
Ctrl+F10 Activate Polygon filter with current selection tool. series of curves in order for lofting or creating hair
from curves, as well as in many other situations.
Alt+space bar Activate last-used selection filter and tool.

40 • Softimage
Selecting Elements

Rectangle-Raycast Tool Selection and Hierarchies


The Rectangle-Raycast selection tool is mixture of the Rectangle and You can select objects in hierarchies in several ways: node, branch, and
the Raycast tools. You select by dragging a rectangle to enclose the tree.
desired elements, like the Rectangle tool. Elements that are occluded
behind others in Hidden Line Removal, Constant, Shaded, Textured, Node Selection
and Textured Decal display modes are ignored, like the Raycast tool.
Left-click to node-select an object. Node selection is the simplest way
Paint Selection Tool in which an object can be selected. When you node-select an object,
only it is selected. If you apply a property to a node-selected object, that
The Paint selection tool lets you use a brush to select components. It is property is not inherited by its descendants.
limited to selecting points (on polygons meshes and NURBS), edges,
and polygons. The brush’s radius controls the size of the area selected
by each stroke, which you can adjust interactively by pressing R and
dragging to the left or right. Use the left mouse button to select and the
right mouse button to deselect. Press Ctrl to toggle-select.

Selection Filters
Effect of node-
Selection filters determine what you can select in the 3D and schematic selecting Object.
views. You can restrict the selection to a specific type of object,
component, or property. Press Shift while activating a new filter to keep
the current selection, allowing you to select a mixture of component
types.

A Selection filter buttons: Select objects or their components in the


3D views. The component buttons are contextual: they change
depending on what type of object is currently selected.

B Click the triangle for additional filters.

C Click the bottom button to re-activate the last filter.

Basics • 41
Section 2 • Elements of a Scene

Branch Selection Selecting Ranges and Loops of Components


Middle-click to branch-select an object. When you branch-select an Use the Alt key to select ranges or loops of components. Softimage tries
object, its descendants “inherit” the selection status and are highlighted to find a path between two components that you pick. In the case of
in light gray. You would branch-select an object when you want to ranges, it selects all components along the path between the picked
apply a property that gets inherited by all the object’s descendants. components. In the case of loops, it extends the path, if possible, and
selects all components along the entire path.
• For polygon meshes, you can select ranges or loops of points,
edges, or polygons. Several strategies are used to find a path, but
priority is given to borders and quadrilateral topology.
• For NURBS curves and surfaces, you can select ranges or loops of
points, knots, or knot curves. Points and knots must lie in the same
Effect of branch- U or V row. In addition, paths and loops stop at junctions between
selecting Object. subsurfaces on assembled surface meshes.

Range Selection
Alt+click to select a range of components using any selection tool
(except Paint). This allows you to select the interconnected
Tree Selection components that lie on a path between two components you pick.

Right-click to tree-select an object. This selects the object’s topmost


ancestor in branch mode. For kinematic chains, right-clicking will
select the entire chain.

1 2

Effect of tree- 1 First specify the anchor.


selecting Object.
2 Then specify the end component to select the range of components
in-between.

42 • Softimage
Selecting Elements

1. Select the first “anchor” component normally. Loop Selection


2. Alt+click on the second component. Note that the anchor Alt+middle-click to select a loop of components using any selection
component is highlighted in light blue as a visual reference while the tool (except Paint). When you select a loop of components, Softimage
Alt key is pressed. finds a path between two components that you pick. It then extends the
path in both directions, if it is possible, and selects all components
All components between the two components on a path become
along the extended path.
selected.
3. Use the following key and mouse combinations to further refine
the selection:
- Use Shift to add individual components to the selection as usual.
If you want to add additional ranges or loops using Alt+Shift, the
last component added to the selection is the new anchor. If you
want to start a new range anchored at the end of the previous
range, you must reselect the last component by Shift+clicking or
Alt+Shift+clicking. Once you have selected a new anchor, you
can Alt+Shift+click to add another range to the selection. 1 2

- Use Ctrl to toggle-select. Once you have selected a new anchor, 1 First specify the anchor.
you can Alt+Ctrl+click to toggle the selection of a range. 2 Then specify another component to select the entire loop of
- Use Ctrl+Shift to deselect. Once you have selected a new anchor, components.
you can Alt+Ctrl+Shift+click to deselect a range.
1. Do one of the following:
- Select the first “anchor” component normally, then Alt+middle-
click on the second component. Note that the anchor component is
highlighted in light blue as a visual reference while the Alt key is
pressed.
or
- Alt+middle-click to select two adjacent components in a single
mouse movement.
All components on an extended path connecting the two
components become selected.

Basics • 43
Section 2 • Elements of a Scene

Note that for edges, the direction is implied so you only need to Modifying the Selection
Alt+middle-click on a single edge. However, for parallel edge loops,
you still need to specify two edges as described previously. The Select menu has a variety of commands you can use to modify the
selection. For example, among many other things, you can:
2. Use the following key and mouse combinations to further refine
the selection: • Invert the selection.

- Use Shift to add individual components to the selection as usual. • Grow or shrink a component selection (polygon meshes only).
If you want to add additional ranges or loops using Alt+Shift, the • Select adjacent points, edges, or polygons.
last component added to the selection is the new anchor. The last
selected component becomes the anchor for any new loop. Once Defining Selectability
you have selected a new anchor, you can Alt+Shift+middle-click
to add another loop to the selection. You can make an object unselectable in the 3D and schematic views by
opening up its Visibility properties and turning off Selectability. This
- Use Ctrl to toggle-select. Once you have selected a new anchor, can come in handy and speed up your workflow if you are working in a
you can Alt+Ctrl+middle-click to toggle the selection of a loop. very dense scene and there are one or more objects that you don’t wish
- Use Ctrl+Shift to deselect. Once you have selected a new anchor, to select.
you can Alt+Ctrl+Shift+middle-click to deselect a loop. Unselectable objects are displayed in dark gray in the wireframe and
schematic views. Regardless of whether an object’s Selectability is on or
off, you can always select it using the explorer or using its name.
The selectability of an object can also be affected by its membership in
a group or layer.

44 • Softimage
Objects

Objects
Objects can be duplicated, cloned, and organized into hierarchies, To duplicate an object, select it and choose Edit > Duplicate/
groups, and layers. Instantiate > Duplicate Single or press Ctrl+D. The object is
duplicated using the current options and the copy is immediately
Duplicating and Cloning Objects selected. You may need to move it away from the original. By default,
any transformation you apply is remembered for the next duplicate.
Duplicating an object creates an independent copy: modifying the
original after duplication has no effect on the copy. Cloning creates a To make multiple copies, Edit > Duplicate/Instantiate > Duplicate
linked copy: modifying the geometry of the original affects the clone, Multiple or press Ctrl+Shift+d. Specify the number of copies and the
but you can still make additional changes to the clone without affecting incremental transformations to apply to each one.
anything else. All the related commands can be found in Edit >
Example: Applying multiple transformations to duplicated objects
Duplicate/Instantiate.

Duplicating Objects 1 Select the object (a step) to be


duplicated and transformed.

2 With the step selected,


press Ctrl+Shift+d.
Specify 5 copies and a
transformation to apply
to each.

3 Result: Five copies of the original step are generated,


with each duplicate translated, rotated and scaled to
give the appearance of a flight of spiral stairs.
Note:The center of the step was repositioned to the
right so that the step could be rotated along
its right edge.

When an object is duplicated, the original and its duplicates can be modified
separately with no effect on each other.

Other commands in the Edit > Duplicate/Instantiate menu let you


duplicate symmetrically, from animation, and so on.

Basics • 45
Section 2 • Elements of a Scene

Cloning Objects Hierarchies


Hierarchies describe the relationship between objects, usually using a
combination of parent-child and tree analogies, as you do with a family
tree. Objects can be associated to each other in a hierarchy for a
number of reasons, such as to make manipulation easier, to propagate
applied properties, or to animate children in relation to a parent. For
example, the parent-child relationship means that any properties
applied to the parent (in branch mode) also affect the child.
In a hierarchy there is a parent, its children, its grandchildren, and so
on:
• A root is a node at the base of either a branch or the entire tree.
• A tree is the whole hierarchy of nodes stemming from a common
root.
• A branch is a subtree consisting of a node and all its descendants.
• Nodes with the same parent are called siblings.
When an object is cloned, editing the original object affects all the clones but
editing one of the clones has no effect on the others.

You can clone objects using the Clone commands on the Edit >
Duplicate/Instantiate menu.
Clones are displayed in the explorer with a cyan c superimposed on the
model icon. In the schematic view, they are represented by trapezoids
with the label Cl.
Clone in the explorer. Clone in the
schematic view.

46 • Softimage
Objects

Creating Hierarchies Deleting an Object in a Hierarchy


You can create a hierarchy by selecting an object If you delete an object with children, it is replaced by a null with the
and activating the Parent tool from the Constrain same name in order to preserve the hierarchy structure. Deleting this
panel (or pressing the / key). Click on another null just replaces it with another one. If you want to get rid of it, you
object to make it the child of the selected object, or must first cut its children if you want to keep them, or branch-select
middle-click to make the selected object the child of the picked object. the object to remove it and its children.
Continue picking objects or right-click to exit the tool.
You can also create hierarchies by dragging and dropping in the Groups
explorer: You can organize 3D objects, cameras, and lights into groups for the
purpose of selection, applying operations, assigning properties and
1 2 shaders, and attaching materials and textures.
For example, you can add several objects to a group, and then apply a
property like Display, Geometry Approximation, or a material to the
group. The group’s properties override the members’ own ones.
Besides being able to organize objects into groups, you can also create a
group of groups. An object can be a member of more than one group.
1 Make the ball_child a child of the ball_parent by dropping its node Groups, however, can’t be added in hierarchies. They can only live
onto the ball_parent’s node.
immediately beneath the scene root or a model.
2 The ball_child is now under the ball_parent’s node.
In Softimage, groups are a tool for organizing and sharing
In the schematic, you can create a hierarchy by pressing Alt while properties.
dragging a node onto a new parent. • If you are familiar with Autodesk® Maya® and want to
use groups to control transformations, for example, in a
Cutting Links in a Hierarchy
character rig, use transform groups instead.
You will often need to cut the hierarchical links between a parent and
• If you are familiar with Autodesk® 3ds Max®, note that
its child or children in a hierarchy of objects. If the child is also a
you don’t need to open a group to select its members
parent, the links to its own children are not affected.
individually. You can always select either the group as a
Select the child and click Cut in the Constrain panel, or press Ctrl+/. A whole or any of its members.
cut object becomes a child of its model. If an object is cut from its
model, it becomes a child of the parent model.

Basics • 47
Section 2 • Elements of a Scene

Creating Groups Selecting Groups Group selection


(or use = key)
To create a group, select some objects and click You can select groups in the 3D and schematic
Group in the Edit panel or press Ctrl+g. In the views using the Group selection button or the =
Group property editor, enter a name for your group key. Note that the Group button changes to the
and select the different View and Render Visibility, Cluster button when a component filter is active.
Selectability, and Animation Ghosting options.
Once a group is selected, you can select all its
members using Select > Select Members/
Components. The members of the group are selected as multiple
objects. If you want to select a single member of a group, simply select
it normally in any 3D, explorer, or schematic view.

Adding and Removing Elements from Add to Group


Groups
All selected objects are grouped together. In the explorer, you can see To add objects to a group, select the group and
the group with all its members within it. add the objects you want to the selection. In the
Edit panel, click the + button (next to the Group
button). You can also drag objects onto a group in
an explorer view. Remove from Group

If an object is a member of just one group, you can ungroup it by just


selecting it and clicking the – button (next to the Group button). If an
object is a member of multiple groups, you must select the group to
remove it from before selecting the object. Alternatively, use the context
menu in the explorer.

Right-click on name of object


within the group to be removed
and choose Remove from Group.

Removing Groups
You can remove a group by selecting it and pressing Delete. When you
delete groups, only the group node and its properties are deleted, not
the member objects themselves.

48 • Softimage
Objects

Scene Layers The Scene Layer Manager


Scene layers are containers — similar to groups or render passes — that The scene layer manager is a grid-style view from which you can
help you organize, view, display, and edit the contents of your scene. quickly view and edit all of the layers in a scene. You can use the layer
For example, you can put different objects into different scene layers control to do things like add objects to — or remove them from —
and then hide a particular layer when you don’t want to see that part of layers, create new scene layers, toggle scene layer attributes, select
your scene. Or you might want to make a scene layer’s objects objects in a scene layer, and so on.
unselectable if the scene is getting too complex to select objects
To open the scene layer manager in a floating window, press 6 at the
accurately. You can create as many layers as your scene requires.
top of the keyboard, or choose View > General > Scene Layer Manager
The main differences between a scene layer and a group are that every from the main menu. The scene layer manager is also available on the
object is a member of a layer (that would be the default layer if you KP/L panel.
haven’t created any new layers) and objects cannot belong to more than
one layer.
A
Scene Layer Attributes H

Each scene layer has four main attributes: viewport visibility, B


rendering visibility, selectability, and animation ghosting. You can G
activate or deactivate each these attributes for each layer in the scene.
C
Scene layers can also have custom properties such as wireframe color
and geometry approximation. D

Scene Layers in the Explorer


You can view and edit scene layers in the explorer. This is most useful
when you wish to move several objects between layers, since you can E
F
quickly drag and drop them from one layer to another.
A • The Layers menu contains commands for creating layers, moving
selected objects into the current layer, and so on. Other commands
are available by right-clicking in the grid.
• The View menu contains various display preferences, including
how layers should be sorted and which columns are visible. Press
and hold Shift to keep the menu open while you toggle multiple
items.

B Scene layers are represented as indented rows. Right-click anywhere


in the row for various commands that affect the corresponding layer.

Basics • 49
Section 2 • Elements of a Scene

C The current layer is indicated by a green background and a double-


chevron. To make a layer current, click in the in the leftmost column
of the corresponding row.

D Scene layer groups are represented as rows with a light gray


background. Right-click anywhere in the row for various commands
that affect all layers in the group. Click the triangle at left to hide or
display the rows of its individual layers.

E To rename a layer or group, double-click on its name, type a new


name, and press Enter.
You can select multiple layers for certain commands by clicking on
their names. To select a range, click on the first layer and then
Shift+click on the last, or drag across the desired rows. To add
individual layers to the selection, Ctrl+click on their rows. Note that
selecting layers in the grid in this way simply selects them for certain
commands in the scene layer manager—it does not affect the global
scene selection.

F Scene layer attributes: wireframe color, view visibility, render visibility,


selectability, and animation ghosting.
• Click in a cell to toggle its value.
• Click+drag to toggle multiple cells in a rectangular area.
• Right-click on a column heading and choose Check All or Uncheck
All.
• Double-click on a color swatch to set the wireframe color and other
display attributes.

G Use the cells of a layer group to control all layers in the group. You
can still change the settings of individual layers afterward. When
different layers in the group have different values, the cell has a light
gray checkmark.

H Right-click on a column heading and choose Check All or Uncheck


All.
Resize a column by dragging the borders of its heading.

50 • Softimage
Properties

Properties
A property is a set of related parameters How Properties Are Propagated
that controls some aspect of objects in a
scene. Objects can inherit properties from many different sources. This
inheritance is called propagation.
Applying Properties For some properties, such as Display and Geometry Approximation, an
object can have only one at a time. If it inherits the same property from
You can apply many properties using the
more than one source, the source with the highest “strength” is used.
Get > Property menu of any toolbar.
This applies the default preset of a In increasing order of strength, the possible sources of property
property’s parameter values to the propagation are:
selected objects, possibly replacing an
• Scene Default: This is the weakest source. If an object does not
existing version of the same property.
inherit a property from anywhere else, it uses the scene’s default
values. For example, if an object has never had a material applied to
Editing Properties it, it uses the scene default material.
To edit an existing property, open its property editor by clicking on the • Branch: If a parent has a property applied when it is branch-
property node in an explorer. A handy way to do this is to press F3 to selected, its children all inherit the property.
see a mini-explorer for the selected object, or click the Selection button
at the bottom of the Select menu. You can also right-click on Selection • Local: If a child inherits a branch property from its parent, but has
to display properties according to type. the same property applied directly to it, it uses its local values.
Click Selection... • Cluster: Materials, textures, and other properties applied to a
cluster take precedence over those applied to the object.
• Group: If an object is a member of a group, then any properties
applied to the group take precedence over local and branch
properties. Similarly, if a cluster is a member of a group, any
properties applied to the group take precedence over those applied
directly to the cluster.
• Layer: Any properties applied to an object’s layer take precedence
over group, local, and branch properties.
• Partition: Properties applied to a partition of a render pass have the
highest priority of all when that render pass is current.
...then click a property icon... ...or right-click Selection.

Basics • 51
Section 2 • Elements of a Scene

For other types of properties, an object can have many at the same
time. For example, an object can have several local annotations as well
as several annotations inherited from different ancestors, groups, and
so on.

Simple Propagation Branch Propagation Local Material/Texture Application Reverting to the Scene’s Default Material
In this sphere hierarchy, each sphere is One sphere was branch-selected and One sphere was single-selected and The larger sphere was single-selected
parented to the one above it. Because given a cloud texture. The remaining given a blue surface. This applies a local and has had its material deleted. Since
the larger sphere was branch-selected sphere retains the checkerboard texture material/texture that is in turn applied to other spheres can no longer inherit their
when the texture was applied, every because it is on another branch. the selected object only— and none of texture from the parent (because its been
sphere beneath it inherits the its children; the sphere’s children still deleted), they revert back to the scene’s
checkerboard texture. inherit the checkerboard texture, despite default gray (or another color you’ve
assigning a local texture to their parent. defined).

52 • Softimage
Properties

Viewing Propagation in the Explorer

A Creating Presets of Property Settings


You can save property settings as a preset. Presets are data files with a
.preset file extension that contain property information. Presets let you
work more efficiently because you can save the modified properties
and reuse them as needed, as well as transfer settings between scenes.
B For quick access, you can also place presets on a toolbar.
To save or load a preset, click the button at the top Save/Load Presets
of a property editor. The saved preset contains
values for only the parameter set currently selected
A Properties that are applied in branch-mode, and therefore propagated, on the property set tabs in the property editor. For
are marked with B. materials and shaders, it also contains parameter settings for any
connected shaders. Presets do not contain any animation—only the
B Shared properties such as materials are shown in italics. The property’s current parameter values are stored. If there is a render region open
source (where it’s propagated from) is shown in parentheses.
when you save a preset, it will be used as a thumbnail.
If no source is shown, then it is inherited from the scene root.

You can also set the following options in the explorer’s View menu:
• Local Properties displays only those properties that have been
applied directly to an object.
• Applied Properties shows all properties that are active on a object,
no matter how they are propagated.

Basics • 53
Section 2 • Elements of a Scene

Components and Clusters


Components are elements, like points and edges, that define the shape of eyebrow, you can easily deform the eyebrow as if it were an object
3D objects. Clusters are named groups of components. instead of trying to reselect the same points each time you work with it.
You can also apply operators like deformations or Cloth to specific
Displaying Components clusters instead of an entire object.

You can display the various component types in a You can define as many clusters on an object as you like, and the same
specific 3D view using the individual options available component can belong to a number of different clusters.
from its eye icon (Show menu) or in all open 3D views Eye icon You can define clusters for points, edges, polygons, subsurfaces, and
using the options on the Display > Attributes menu on other components. Each cluster can contain one type of component.
the main menu bar. For example, a cluster can contain points or polygons, but not both.
For more options, you can set the visibility options in the Camera
Visibility property editor: click a 3D view’s eye icon (Show menu) and Clusters may shift if you edit an operator in an object’s
choose Visibility Options, or Display > Visibility Options for all open construction history and add components before the position
3D views. where the cluster was created.

Note that when you activate a component selection filter, the Creating Clusters
corresponding components are automatically displayed in the 3D
To create a cluster, select some components and click Cluster on the
views.
Edit panel (the Cluster button changes to Group when objects are
selected). As soon as the cluster is created, it is selected and you can
Clusters press Enter to open its property editor and change its name.
A cluster is a named set of Spinning top Top To create a cluster whose components aren’t already in other clusters,
components that are with two clusters choose Edit > Create Non-overlapping Cluster instead. You can also use
grouped together for a Edit > Create Cluster with Center to make a cluster with a null “center”
specific modeling, that you can transform and animate. If you prefer to use a different
animation, or texturing object as a center, simply create a cluster and apply Deform > Cluster
purpose. By grouping and Center manually.
naming components, it
makes it easier to work with
those same components
again and again. For
example, by grouping all Bottom
points that form an

54 • Softimage
Components and Clusters

Adding and Removing Components from Clusters Manipulating Components and Clusters
To add components to a cluster, select the cluster Add to Cluster Not every type of component or cluster can be directly manipulated in
and add the components you want to the Softimage. You can select and manipulate points, edges, and polygons
selection. In the Edit panel, click the + button in the 3D views, and you can select and manipulate texture UV
(next to the Cluster button). coordinates (samples) in the texture editor.
To remove components from a cluster, select the • You can transform points, edges, and polygons in 3D space. This is
cluster, add the components to remove to the a fundamental part of modeling an object’s shape.
selection, and click the – button. Remove from Cluster
• You can apply deformations to deform points, edges, and polygons
When you add components to an object, any new in the same way that you apply them to objects.
components that are surrounded by similar components in a • You cannot animate component and cluster transformations
cluster are automatically added to the cluster. directly. Instead, you can use a deformer such as a cluster center or
volume deformer and animate the deformer, or you can use shape
Selecting Clusters
animation.
You can select clusters using the Clusters button at the bottom of the
Select panel, or in any other explorer.

You can also select clusters in a 3D view when a component selection


filter is active. Simply activate the Cluster button at the top of the Select
panel, or press =, or use the middle mouse button while clicking on any
component in the cluster.

Removing Clusters
To remove a cluster, select it and press Delete. Removing a cluster
removes the group, but does not remove the individual components
from the object.

Basics • 55
Section 2 • Elements of a Scene

Parameter Maps • Texture maps consist of an image file or sequence, and a set of UV
coordinates. They are similar to ordinary textures, but are
Certain parameters are mappable—you can vary the parameter’s value connected to parameters instead of shaders.
across an object’s geometry by connecting a weight map, texture map,
vertex color property, or other cluster property. This allows you to, for • Vertex color properties are color values stored at each polynode or
example, control the amplitude of a deformation or the emission rate texture sample of a geometric object.
of a particle system across an object’s surface. In addition to the attributes listed above, you can connect mappable
Mappable parameters have a connection icon in their property editors parameters to other cluster properties, including UV coordinates
that allows you to drive the value using a map. (texture projections), shapes, user normals, and envelope weights.
While these may not always be useful for driving modeling and
Connection icon simulation parameters, the ability to connect to these properties may
be useful for custom developers.
unconnected connected
Connecting Maps
Which Parameters Are Mappable? No matter what type of map you want to connect to a parameter, the
Almost any parameter with a connection icon in its property editor is basic procedure is the same. In a property editor, click on the
mappable. These parameters include: connection icon of a mappable parameter and choose Connect. A
pop-up explorer opens—navigate through the explorer and pick the
• Certain deformation parameters, such as Amplitude in the Push desired map:
operator or Strength in the Smooth operator.
• Weight maps are found under the appropriate cluster.
• The Multiplier parameter in the Polygon Reduction operator.
• Texture maps are properties directly under the object. They can
• Edge and vertex crease values. also be found under the appropriate cluster. Make sure you don’t
• Various simulation parameters, such as the length and density of accidentally select the texture projection.
hair, the stiffness of cloth, and so on. • Vertex color properties are also found under the appropriate
• Shapes in the animation mixer. cluster.
The connection icon changes to show that a map is connected.
What Can You Connect to Mappable Parameters?
When a map is connected, you can click on this icon to open the map’s
You can connect just about any cluster property to a mappable property editor.
parameter. The most useful properties include the following:
If you connect a map that has multiple components, like an RGBA
• Weight maps allow you to start from a base map such as a constant color, to a parameter that has a single dimension, like Amplitude, you
value or gradient, and then paint values on top. can use the options in the Map Adaptor to control the conversion.
To disconnect a weight map, right-click on the connection icon of a
connected parameter and choose Disconnect.

56 • Softimage
Parameter Maps

2. Optionally, select some points or a cluster.


• To connect maps to hair parameters, you must first
transfer the maps from the emitter to the hair object.
• In the case of weight maps and deformations, you can
Selected cluster
simply select the weight map and then apply the
deformation instead of manually connecting it. Since the
weight map is selected by default as soon as you create it,
this technique is quick and easy.
3. Apply a weight map using Get > Property > Weight Map.
Weight Maps
Weight maps are properties of point clusters on geometric objects. Blank weight map,
They associate each point in a cluster with a weight value. Each cluster ready for painting
can have multiple weight maps, so you can modulate different
parameters on different operators in different ways.
Each weight map has its own operator stack. When you create a weight 4. Press W to activate the Paint tool, then use the mouse to paint on
map, a WeightMapOp operator sets the base map, which can be the weight map.
constant or one of a variety of gradients. Then when you paint on the
weight map, the strokes are added to a WeightPainter operator on top - Press R and drag the mouse to control the brush radius.
of the WeightMapOp in the stack. Like other elements with operator - Press E and drag the mouse to control the opacity.
stacks, you can freeze a weight map to discard its history and simplify
your scene data. - Press Ctrl+W to open the Brush properties to set other
parameters.
The following steps present a quick overview of the workflow for using
weight maps. In the default paint mode (normal, also called additive), use the left
mouse button to add paint and the right mouse button to remove
1. Start with an object. weight. Press Alt to smooth.

A spot of paint
and it’s as good as new!

5. Connect the weight map to drive the value of a parameter—for


example in the image below, it is driving the Amplitude of a Push
deformation.

Basics • 57
Section 2 • Elements of a Scene

Texture Maps
Texture maps consist of an image file or sequence, and a set of UV
A slight Push is all that’s needed.
coordinates. They are similar to ordinary textures, but are used to
control operator parameters instead of surface colors.

6. You can reselect the weight map and continue to paint on it to HDR images are fully supported. Floating-point values are
modify the effect further. not truncated.

If your object has multiple maps, you may need to select the Creating Texture Maps
desired one before you can paint on it. You can do this easily To create a texture map, you select the texture projection method and
using Explore > Property Maps from the Select panel. then link an image file to it.
Freezing Weight Maps 1. Apply a texture projection and texture maps to the selected object
Weight maps can be frozen to simplify your scene’s data. Freezing by doing one of the following:
collapses the weight map generator (the base constant or gradient map - If the object already has a set of UV coordinates (texture
you chose when you created the weight map) together with any strokes projection) that you want to use, select it and choose Get >
you have applied. Property > Texture Map > Texture Map.
To freeze a weight map, select it and click the Freeze button on the Edit This creates a blank texture map property for the object and
panel. After you have frozen a weight map, you can still add new opens a blank Texture Map property editor in which you need to
strokes but you cannot change the base map or delete any strokes you set the texture projection and select an image that will be used as
performed before freezing. the map (as described in the next steps).
or
- To create a new texture projection for the map, select the object
and choose Get > Property > Texture Map > projection type
(such as Cylindrical, Spherical, UV, or XZ) that is appropriate for
the shape of the object.
This creates a texture map property and texture projection for the
object, but doesn’t open the Texture Map property editor. Now
you must open the Texture Map property editor to associate the
image to this projection to use as the map (in the explorer, click
the Texture Map property under the object).

58 • Softimage
Parameter Maps

2. In the Clip section of the


Texture Map property
editor, select an image or
sequence to use as the map.
If there isn’t already a clip
for the desired image, click
New to create one.
3. In the UV Property area
beneath the image, select an
existing texture projection
or create a New texture
projection (if there isn’t
already one) that is
appropriate to the shape of
the object or how you want
to project the mapped
image.

Editing Texture Maps


To edit the UV coordinates of a texture map’s projection, select the
object and open the text editor. If necessary, use the Clips menu to
display the correct image and the UVs menu to display the correct
projection.
If you do this, you should make sure that the operator connected to the
texture map is above the modeling region of the construction history,
for example, in the animation region. Otherwise, the UV edits are
“above” the operator and appear to have no effect. You can move the
operator back to the modeling region when you are done.

Basics • 59
Section 2 • Elements of a Scene

60 • Softimage
Section 3

Moving in 3D Space
Working in 3D space is fundamental to Softimage.
You will use the transformation tools constantly as
you model and animate objects and components.

What you’ll find in this section ...


• Coordinate Systems
• Transformations
• Center Manipulation
• Freezing Transformations
• Resetting Transformations
• Setting Neutral Poses
• Transform Setup
• Transformations and Hierarchies
• Snapping

Basics • 61
Section 3 • Moving in 3D Space

Coordinate Systems
Softimage uses coordinate systems, also called reference frames, to XYZ Coordinates
describe the position of objects in 3D space.
With the Cartesian coordinate system, you can locate any point in
space using three coordinates. Positions are measured from the origin,
Cartesian Coordinates
which is at (0, 0, 0). For example, if X = +2, Y = +1, Z = +3, a point
One essential concept that a first-time would be located to the right of, above, and in front of the origin.
user of 3D computer graphics should
understand is the notion of working Location = (2, 1, 3) Y=1
within a virtual three-dimensional space
using a two-dimensional user interface.
Softimage uses the classical Euclidean/ Origin
Cartesian mathematical representation Z=3 X=2
of space. The Cartesian coordinate
system is based on three perpendicular
axes, X, Y, and Z, intersecting at one point. This reference point is
called the origin. You can find it by looking at the center of the grid in
any of the 3D windows.

XYZ Axes
Softimage uses a “Y-up” system, where the Y direction represents
XZ, XY, YZ Planes
height. This is different from some other software, which are “Z-up”. Since you are working with a two-
This is something to keep in mind if you are familiar with other dimensional interface, spatial planes are used
software, or are trying to import data into Softimage. to locate points in three-dimensional space.
A small icon representing the three axes and their directions is shown The perpendicular axes extend as spatial
in the corner of 3D views. The icon’s three axes are represented by planes: XZ, XY, and YZ. In the 3D views,
color-coded vectors: red for X, green for Y, and blue for Z. these planes correspond to three of the
parallel projection windows: Top, Front, and
An easy way to remember the color coding is RGB = XYZ. Right. Imagine that the XZ, XY, and YZ
This mnemonic is repeated throughout Softimage: object planes are folded together like the top, front, and right side of a box.
centers, manipulators, axis controls on the Transform panel, This helps you keep a sense of orientation when you are working
and so on. within the parallel projection windows.

62 • Softimage
Coordinate Systems

Global and Local Coordinate Systems Softimage Units


The location of an object in 3D space is defined by a point called its Throughout Softimage, lengths are measured in Softimage units. How
center. This location can be described in more than one way or big is a Softimage unit? It is an arbitrary, relative value that can be
according to more than one frame of reference. For example, the global anything you want: a foot, 10 cm, or anything else.
position is expressed in relation to the scene’s origin. The local position
However, it is generally recommended that you avoid making your
is expressed in terms of the center of the object’s parent.
objects too big, too small, or too far from the scene origin. This is
Parent because rounding errors can accumulate in mathematical calculations,
resulting in imprecisions or even jittering in object positions. As a
general rule of thumb, an entire character should not fit within 1 or 2
Scene origin
units, nor exceed 1000 units.
The Softimage units used for objects also matters for creating dynamic
simulations where objects have mass or density and are affected by
forces such as gravity. For simulations, Softimage assumes that 1 unit is
Object and 10 cm by default, but you can change this by changing the strength of
its center gravity.

The center of an object is only a reference—it is not necessarily in the


middle of the object because it can be relocated (as well as rotated and
scaled). The position, orientation, and scaling (collectively known as
the pose) of the object’s center defines the frame of reference for the
local poses of its own children.

Basics • 63
Section 3 • Moving in 3D Space

Transformations
Transformations are fundamental to 3D. They include the basic Transforming Interactively
operations of scaling, rotating, and translating: scaling affects an
element’s size, rotation affects an element’s orientation, and translation
affects an element’s position. Transformations are sometimes
called SRTs. 1 Select objects or
components to
You transform by selecting an object or components, activating a transform and
activate a tool:
transform tool, then clicking and dragging a manipulator in a 3D view.
– Scale (press x)
– Rotate (press c)
Local versus Global Transformations – Translate (press v)

There are two types of transformation values that can be stored for
3 If desired, specify the
animation: local and global. Local transformations are stored relative active axes. See
to an object’s parent, while global ones are stored relative to the origin Specifying Axes on
of the scene’s global coordinate system. The global transformation page 67.
2 Set the
values are the final result of all the local transformations that are manipulation mode.
propagated down the object hierarchy from parent to child. See Manipulation
Modes on page 65.
You can animate either the local or the global transformation values.
It’s usually better to animate the local transformations—this lets you 4 If desired, set the pivot. See Setting
move the parent while all objects in the hierarchy keep their relative the Pivot on page 67.
positions rather than staying in place.

5 Click and drag on the manipulator. See Using


the Transform Manipulators on page 68.

64 • Softimage
Transformations

Manipulation Modes View


When you transform interactively, you always do so using one of View translations and rotations are performed with respect to the 3D
several modes set on the Transform panel: View, Local, Global, etc. The view. The plane in which the object moves depends on whether you are
mode determines the axes and the default pivot used for manipulation. manipulating it in the Camera, Top, Front, Right, or other view.
If an object isn’t transforming as you expected, it’s possible that you
need to change the manipulation mode. It is important to remember Object is transformed using the axes
that the mode does not affect the values stored for animation (local of the 3D view as the reference.
versus global), it only affects your interaction with the transform tool.

Global
Global translations and rotations are performed along the scene’s global
axes.

Object is transformed...
If you are using the SRT manipulators in a perspective view
like Camera or User, View mode uses the global scene axes.

Par
Par, or parent, translations and rotations use the axes of the object’s
...using global axes as the reference. parent. For translation, this is the only mode where the axes of
interaction correspond exactly to the coordinates of the object’s local
Local position for the purpose of animation. When you activate individual
axes on the Transform panel, the corresponding local position
Local transformations are performed along the axes of the object’s local parameters are automatically marked. To activate Par for rotations,
coordinate system as defined by its center. This is the only true mode activate Add and press Ctrl.
available for scaling—scaling is always performed along an object’s own
axes. Object is transformed...

Object is transformed...

...using the local space of its


parent as the reference.

...using the object’s own local axes as the reference.

Basics • 65
Section 3 • Moving in 3D Space

Vol
Par mode is not available for components. In its place, Object
mode uses the local coordinates of the object that “owns” Like Uni, Vol or volume is available only for scaling and is a modifier
the components. rather than a mode. It scales along one or two local axes, while
automatically compensating the other axes so that the volume of the
Add object’s bounding box remains constant.
Add, or additive, mode is only available for rotation. It lets you directly
control the object’s local X, Y, and Z rotations as stored relative to its
parent. This mode is especially useful when animating bones and other
objects in hierarchies.
For rotations, this is the only mode where the axes of interaction
correspond exactly to the coordinates of the object’s local orientation
for the purpose of animation. When you activate individual axes on the
Transform panel, the corresponding local position parameters are
automatically marked. Ref
Ref, or reference, mode lets you translate an object along the X, Y, and
Uni Z axes of another element or an arbitrary reference plane. Right-click
Uni, or uniform, is available only for scaling. It is not really a mode but on Ref to set the reference.
it modifies the way objects are scaled locally. It scales along all active
Object is transformed...
local axes at the same time with a single mouse button. You can activate
and deactivate axes as described in Specifying Axes on page 67. You can
also temporarily turn on Uni by pressing Shift while scaling.

...using the local space of a


picked object as its reference.

66 • Softimage
Transformations

Plane If Allow Double-click to Toggle Active Axes is on in the Transform


preferences, then you can also specify transformation axes by double-
Plane mode lets you drag an object along the XZ plane of another
clicking in the 3D views while a transformation tool is active:
element or an arbitrary reference plane. Right-click on Plane to choose
the plane. • Double-click on a single axis to activate it and deactivate the others.
Object is transformed... • If only one axis is currently active, double-click on it to activate all
three axes.
• Shift+double-click on an axis to toggle it on or off individually. (If
it is the only active axis, it will be deactivated and both of the other
two axes will be activated).

...using the local space Setting the Pivot


of a user-defined plane
in space. When transforming elements interactively, you can set the pivot by
pressing the Alt key while a transformation tool is active. The pivot
defines the position around which elements are rotated or scaled
(center of transformation). When translating and snapping, the pivot
Specifying Axes is the position that snaps to the target.
When transforming interactively, you can specify Individual axes 1. Make sure that Transform > Modify Object Pivot is set to the
which axes are active using the x, y, and z icons in desired value:
the Transform panel. For example, you can activate
- Off (unchecked) to set the tool pivot used for interactive
rotation in Y only, or deactivate translation only in
manipulation only. This is useful if you are simply moving
Z. Active icons are colored, and inactive icons are
elements into place. The tool pivot is normally reset when you
gray.
All Axes change the selection. However, you can lock and reset the
• Click an axis icon to activate it and deactivate position manually.
the others.
- On (checked) to modify the object pivot. The object pivot acts like a
• Shift+click an axis icon to activate it without affecting the others. center for the object’s local transformations. It is used when playing
back animated transformations, and is also the object’s default pivot
• Ctrl+click an axis icon to toggle it. for manipulation. You can animate the object pivot to create a
• Click the All Axes icon to activate all three axes. rolling cube.

• Ctrl+click the All Axes icon to toggle all three axes. 2. Activate a transform tool.

Basics • 67
Section 3 • Moving in 3D Space

3. Do any of the following: Rotate Manipulator


- Alt+drag the manipulator’s center, or one of its axes, to change Click and drag on a Click and drag on the
the position of the pivot manually. You can use snapping, as well single ring to rotate silhouette to rotate
as change manipulation modes on the Transform panel. around that axis. about the viewing axis.
This does not work in
- Alt+click in a geometry view. The pivot snaps to the closest point, Add mode.
edge midpoint, polygon midpoint, or object center among the
Click and drag on the ball
selected objects. This lets you easily rotate or scale an object to rotate freely. This does
about one of its components. not work in Add mode.
- Alt+middle-click to reset the pivot to the default.
Scale Manipulator
You can lock the pivot by pressing Alt, clicking on the Pivot icon
triangle below the pivot icon, and choosing Lock. The Click and drag on a Click and drag along
tool pivot remains at its current location, even if you change the single axis to scale the diagonal between
selection. along it. two axes to scale
both those axes
uniformly.
Using the Transform Manipulators

Translate Manipulator
Click and drag on a Click and drag the center left or right
single axis to translate Click and drag between to scale all active axes uniformly.
along it. two axes to translate
along the In addition to dragging the handles, you can:
corresponding plane.
• Middle-click and drag anywhere in the 3D views to translate along
the axis that most closely matches the drag direction.
• Click and drag anywhere in the 3D views (except on the
manipulator) to perform different actions, depending on the
Click and drag on the center to
translate in the viewing plane.
setting for Click Outside Manipulator in the Tools > Transform
preferences.
• Right-click on the manipulator to open a context menu, where you
can set the manipulation mode and other options.

68 • Softimage
Transformations

Setting Values Numerically


As an alternative to transforming objects interactively, you can enter
numerical values in the boxes on the Transform panel:
• In Global mode, values are relative to the scene origin.
• In Ref mode, values are relative to the active reference plane.
• In View mode, values can be either global or relative to the object’s Parent and child branch- Scaled in Y using Scaled in Y using
parent depending on what’s set in your preferences. selected before scaling. hierarchical scaling. classic scaling.
• In all other modes, values are relative to the object’s parent.
You specify which method to use for each child in its Local Transform
Transformation Preferences property. You can also set the default value used for all new objects.

Transform > Transform Preferences contains several settings that To specify hierarchical or classic scaling
affect the display, interaction, and other options of the transformation
1. Select one or more child objects and open their Local Transform
tools. Since you will be spending a great deal of your time transforming
property editor.
things, it’s a good idea to explore these and find the settings that are
most comfortable for you. 2. On the Scaling tab, turn Hierarchical (Softimage) Scaling off or on.
If it is off, classic scaling is used.
Hierarchical (Softimage) versus Classic Scaling
To set the default scaling mode used for all new objects
Hierarchical (Softimage) scaling uses the local axes of child objects
when their parent is scaled. This maintains the relative shape of the 1. Choose File > Preferences from the main menu bar.
children without shearing if they are rotated with respect to their 2. Click General.
parent.
3. Toggle Use Classical Scaling for Newly Created Objects.
When this option is off, the result is called classic scaling—children are
scaled along their parent’s axes and may be sheared with non-uniform
scaling. Classic scaling is recommended if you are exchanging data with
other applications, such as game engines, motion capture systems, or
3D applications that do not understand Softimage scaling.

Basics • 69
Section 3 • Moving in 3D Space

Center Manipulation Resetting Transformations


Center manipulation lets you move the center of an The Transform > Reset commands return an object’s local scaling,
object without moving its points. This changes the rotation, and translation return to the default values. It effectively
default pivot point used for rotation and scaling. removes transformations applied since the object was created or
You can manipulate the center by using Center parented, or since its transformations were frozen.
mode interactively, or by using commands on the
If you want an object to return to a pose other than the origin of its
Transform menu (Move Center to Vertices and Move Center to
parent’s space when you reset its transformations, set a neutral pose
Bounding Box).
for it.
It’s important to note that center manipulation is actually a
deformation. As the center is moved, the geometry is compensated to Setting Neutral Poses
stay in place. Because it is a deformation, you cannot manipulate the
center of non-geometric objects. This includes nulls, bones, implicit The Transform > Set Neutral commands “zero out” an object’s
objects, control objects, and anything else without points. transformations. This is useful if you want an object to return to a pose
other than the origin of its parent’s space when you reset its
Freezing Transformations transformations. For example, you can set the neutral pose of a chain
bone so that it returns to a “natural” position when you reset it.
The Transform > Freeze commands reset an object’s size, orientation, Neutral poses are also useful for visualizing the transformation
or location to the default values without moving the object’s geometry values—it’s easier to imagine a rotation from 0 to 45 degrees than from
in global space. For instance, freezing an object’s translation moves its 78.4 to 123.4 degrees.
center to (0, 0, 0) in its parent’s space without visibly displacing its
The neutral pose acts as an offset for the object’s local transformation
points.
values, as if there was an intermediate null between the object and its
Like center manipulation, freezing transformations is actually a parent in the hierarchy. The neutral pose values are stored in the
deformation. As the center is transformed, the geometry is object’s Local Transform property, and can be viewed or modified on
compensated to stay in place. the Neutral Pose tab of that property editor.
When you set the neutral pose, any existing animation of the local
If a neutral pose exists when you freeze an object’s
transformation values is interpreted with respect to the new pose. This
transformations, the object’s center moves to the neutral pose
may give unexpected results when you play back the animation. For
instead of the origin of its parent’s space. If you want the
that reason, you should set the neutral pose before animating the
object’s center to be at the origin, you should remove the
transformations of an object.
neutral pose in addition to freezing the transformations. You
can perform these two operations in either order. If you remove the neutral pose using Transform > Remove Neutral
Pose, the neutral pose values are added to the local transformation
before being reset to the defaults. The object does not move in global
space as a result.

70 • Softimage
Transform Setup

Transform Setup Transformations and Hierarchies


The Transform Setup property lets you define a preferred Transformations are propagated down hierarchies. Each object’s local
transformation for an object. When you select that object, its preferred position is stored relative to its parent. It’s as if the parent’s center is the
transformation tool is automatically activated. Of course, you can still origin of the child’s world.
choose a different tool and change transformation options manually if
you want to. Basics of Transforming Hierarchies
Transform setups are particularly useful when building animation rigs Objects in hierarchies behave differently when they transformed
for characters. If you are using an object to control a character’s head depending on whether the objects are node-selected or branch-selected.
orientation, you can set its preferred transformation to rotation. If you By default:
are using another object to control the character’s center of gravity
(COG), you can set its preferred transformation to translation. When • If an object is branch-selected, then its children are transformed as
you select the head control, the Rotate tool is automatically activated, well. You can change this behavior by modifying the parent
and then when you select the COG control, the Translate tool is constraint on the Options tab of the child’s Local Transform
automatically activated. property editor.

You apply a Transform Setup property by choosing Get > Property > • If an object is node-selected, then children with local animation
Transform Setup from any toolbar and then setting all the options. You follow the parent. This is because the local animation values are
can modify the options later by opening the property from the stored relative to the parent’s center. However, what happens to
explorer. non-animated children depends on the ChldComp (Child
Transform Compensation) option on the Constrain panel.
While Transform Setups are useful for many tasks, like animating a rig,
at other times you don’t want the current tool to keep changing as you Child Transform Compensation
select objects. In these cases, you can ignore Transform Setups for all
objects in your scene by turning off Transform > Enable The ChldComp option on the Constrain panel
Transformation Setups. Turn it back on to resume using the preferred controls what happens to non-animated children
tool of each object. if an object is node-selected and transformed.
• If this option is off, all children with an active
parent constraint follow the parent. You
cannot move the parent without moving its children.
• If this option is on, the children are not visibly affected. Their local
transformations are compensated so that they maintain the same
global position, orientation, and size.
Child Transform Compensation does not affect what happens when a
child has local animation on the corresponding transformation
parameters nor when the parent is branch-selected.

Basics • 71
Section 3 • Moving in 3D Space

Snapping Incremental Snapping


Snapping lets you align components and objects when moving or When translating, rotating, and scaling elements, you can snap
adding them. You can snap to targets like objects, components, and the incrementally. Instead of snapping to a target, elements jump in
viewport grids, or you can snap by increments. discrete increments from their current values. This is useful if you want
to move an element by exact multiples of a certain value, but keep it
Snapping to Targets offset from the global grid.

Use the Snap panel to activate snapping to targets. To snap incrementally:

Set a variety of options from the menu.


• Press Shift while rotating or translating an element.
• Press Ctrl while scaling (Shift is used for scaling uniformly).
You can set the Snap Increments using Transform > Transform
Activate or deactivate snapping. Preferences.
Use Ctrl to temporarily toggle
the current state. Specify the type of target: points,
curves/edges, facets, or the grid.
Right-click to select various sub-types.

The grid used for snapping depends on the manipulation mode:


• Global, Local, Par, Object, and Ref use the Snap Increments set in
the Transform > Transform Preferences. They do not use the
visible floor/grid displayed in 3D views.
• View mode uses the Floor/Grid Setup set in the Camera Visibility
property editor (Shift+s over a specific 3D view, or Display >
Visibility Options (All Cameras)).
• Plane mode uses the Snap Size set in the Reference Plane property
editor.

72 • Softimage
Section 4

Organizing Your Data


Working in Softimage involves saving and retrieving
files between systems. A typical project in Softimage
contains many files that need to be easily accessible
to you or members of your workgroup. Softimage
provides data management features that help you
optimize your production pipeline.

What you’ll find in this section ...


• Where Files Get Stored
• Scenes
• Projects
• Models
• Importing and Exporting

Basics • 73
Section 4 • Organizing Your Data

Where Files Get Stored


There are two types of files in Softimage: project files and application Setting a Workgroup
data files.
Workgroups provide a method for easily sharing customizations
Project files include scenes as well as any accompanying files such as among a group of people working on the same project. Simply set your
texture images, referenced models, cached simulations, rendered workgroup path to a shared location on your local network, and you
pictures, and so on. They are stored in various subfolders of a main can take advantage of any presets, plug-ins, add-ons, shaders, toolbars,
project folder. views, and layouts that are installed there.
Application data files are not specific to a single project. They include The workgroup is usually created by a technical director or site
presets and various customizations you can make or install, such as supervisor. To connect to an existing workgroup, choose File > Plug-in
commands, keyboard mappings, toolbars, shelves, views, layouts, plug- Manager, click the Workgroups tab, click Connect, and specify the
ins, add-ons, and so on. The application data files can be stored in location.
various subfolders at one of three locations:
• User is the location for your personal customizations. Typically, it
is C:\users\username\Autodesk\Softimage_2010 on Windows or
~/Autodesk/Softimage_2010 on Linux.
• Workgroup is the location for customizations that are shared
among a group of users working on the same local area network.
• Installation (Factory) is the location for presets and sample
customizations that ship with Softimage. It is located in the
directory where the Softimage program files are installed. It is not
recommended that you store your own customizations here.

Whenever you use an Softimage file


browser to access files on disk, you can
quickly switch among your project,
user, workgroup, and installation
locations using the Paths button.

74 • Softimage
Scenes

Scenes
A scene file contains all the information necessary to identify and
position all the models and their animation, lights, cameras, textures,
The Softimage title bar identifies the name of the current scene and the
and so on for rendering. All the elements of a scene are compiled into a
project in which it resides.
single file with an .scn extension.

The File Menu contains most of the commands for creating, opening, and managing scenes.

Merging Scenes combines objects in any number


of Softimage scenes. When you merge a scene into A New Scene is automatically generated when you start
the current scene, it is automatically loaded as a Softimage or create a new project. You can also create a new
model. scene any time while you work. Every new scene is created in
the active project and its name appears as “Untitled” in the
Press the Ctrl key as you drag and drop a scene Softimage title bar.
(*.scn) file from an external window into a 3D view
to merge it as a model under the scene root. Choose Edit > Delete All from the Edit panel in the main
command panel or press Ctrl+Delete to clear the workspace
Save or Save As to update the existing scene or before creating a new scene.
save it to a new name in the current project.
Open a scene.
Manage scenes and their associated projects using
or
the Project Manager. You can also create, open,
and save scenes to different projects from here. Open a recently used scene.
You can also drag and drop a scene (*.scn) file from an
Import and export scenes from and to other external window into a 3D view to open the scene. Note that
3D or CAD/CAM programs saved in the you cannot drag and drop scenes from external windows on
dotXSI™, COLLADA, FBX, DirectX, IGES, and Linux systems.
OBJ formats.
When you open a scene file, a temporary “lock” file is
Choose Preferences > Data Management created. Anyone else who opens the file in the meantime
to set options for backing up, autosaving, must work on a copy and any changes to the scene must be
recovering, and debugging your scenes. saved under a different file name. The lock file is deleted
when you close the scene

Basics • 75
Section 4 • Organizing Your Data

Managing External Files in Scenes


Scenes can reference many external files such as referenced models, As you develop the scene, you’ll probably need to perform some clean-
texture images, action sources, and audio clips. Some of these up and management operations on its external files. For example, you
referenced files may be located outside of your project structure. When might need to update some paths or locate a missing image. You can do
you save a scene, the path information that lets Softimage locate and all this, as well as perform other file management tasks, using the
refer to these external files is saved as well. external files manager.
Choose File > External Files to open the external files manager.

Click here to refresh The controls for viewing and managing external files. Selected files are highlighted in green.
the list of files.

The left pane allows you to choose The grid lists all of the external files Files with invalid paths
whether to show all external files for the scene/model specified in the are highlighted in red.
used by the scene, or only those used left-hand pane, and of the type
by a particular model. specified in the File Type list.

76 • Softimage
Scenes

Displaying Scene Information


You can obtain important statistics for your scene by choosing
Edit > Info Scene from the Edit panel or by pressing Ctrl+Enter. This
information can be helpful when evaluating a scene’s complexity for
the purpose of optimization.

Getting and Setting Data in the Scene TOC


Scene files can be further modified by its scene TOC. The scene TOC
(scene table of contents) is an XML-based file that contains scene
information. It has an extension of .scntoc with the same name and in
the same folder as the corresponding scene file.
By default, the scene TOC is created automatically when you save a
scene. When you open a scene file, Softimage looks for a corresponding
scene TOC file. If it is found, Softimage automatically applies the
information it contains.
This lets you use a text editor or XML editor to change the path for
external files such as referenced models or texture images, change
render options, change the current render pass, and so on.

Basics • 77
Section 4 • Organizing Your Data

Projects
In Softimage, you always work within the structure of a project. A When you open Softimage for the first time, an untitled scene is
project is a system of folders that contain the scenes you build and the created in the XSI_SAMPLES factory project. You can set your own
external files referenced by those scenes. project as the default project that opens with Softimage. The project
name in the title bar at the top of the Softimage interface is the active
Projects are used to keep your work organized and provide a level of
project.
consistency that can simplify production for a workgroup. A project
can exist locally on your machine or can be shared from a network Project lists are text-based files with an .xsiprojects file name extension.
drive. You can build, manage and distribute your project lists among
members of your workgroup using the Project Manager.

The Project Manager The Project Structure


The tool for managing multiple Subfolders created in every
projects and scenes. You can new project folder store
create new projects and and organize the elements
scenes, open existing projects of your work such as
and scenes, scan your system rendered pictures, scenes,
for projects, delete projects, as material libraries, external
well as add and remove action sources, etc.
projects from the project list.

Select a project from the


project list.

Scan for projects in a specified


path and add them to the
project list.

Export the list of projects and


have all members of the
workgroup import it.

Sort projects by Name, Origin


(factory [F], user [U], and
workgroup [W]), or none.

Sets the selected project as the Sets the default project that opens
Location of your project folder. active project. automatically when you start Softimage.

78 • Softimage
Models

Models
Models are like “mini scenes” that can be easily reused in scenes and Models and Namespaces
projects. They act as a container for objects, usually hierarchies of
objects, and many of their properties. Models contain not just the Each model defines its own namespace. This means that each object in
objects’ geometry but also the function curves, shaders, mixer a model’s hierarchy must have a unique name, but objects in different
information, groups, and other properties. They can also contain models can have the same name. For example, two characters in the
internal expressions and constraints; that is, those expressions and same scene can both have chains named left_arm and right_arm if they
constraints that refer only to elements within the model’s hierarchy. are in different models.
All models exist in the namespace of the scene. This means that each
model must have its own unique name, even if it is within the hierarchy
“Club bot” model structure of another model.
contains many things that
define the character. Namespaces let you reuse animations that have been stored as actions.
If an action contains animation for one model’s left_arm chain, you
can apply the action to another model and it automatically connects to
the second model’s left_arm. If your models contain elements with
different naming schemes, for example, LeftArm and L_ARM, you can
use connection mapping templates to specify the proper connections.

Creating Local Models


To create a model in your scene, select the elements you want it to
contain and choose Create > Model from the Model toolbar.
At this point, the model has its own namespace and its own mixer, so it
can share action sources with other models in the same scene. It can
There are two types of models: also be instantiated or duplicated within the same scene. If that’s all
you need a model for, you do not need to export and import it.
• Local models are specific to a single scene.
You can add elements to the model by parenting them to the model
• Referenced models are external files that can be reused in many
hierarchy. To remove elements, cut them from the hierarchy.
scenes.

Basics • 79
Section 4 • Organizing Your Data

Exporting Models For example, let’s say that you’re modeling a car that will be used in
various scenes, but the animator needs to start animating with the car
Use File > Export > Model to export models created in Softimage for on another computer before you can finish the details. You export the
use in other scenes. Using models to export objects is the main way of car as porsche.emdl, which the animator can import into her scene
sharing objects between scenes. while you continue your work. Any changes that the animator makes to
When you export a model, a copy is saved as an independent file. The the car, such as setting keys or expressions, are automatically stored in
file names of exported models have an .emdl extension. the model’s delta in the scene.

The original model remains in the scene. If you ever need to modify the When you’re done modeling the car, you can re-export using the same
model, you can change it in the original scene, and then re-export it file name. Now when the animator loads the scene or updates the
using the same file name. If other scenes use that file as a referenced referenced model, all the changes you made are automatically reflected
model, they will update automatically when you open them. If you in the car in her scene. After the model is updated, Softimage reapplies
imported the file into another scene as a local model, you must delete the changes stored in the delta to the model within the animator’s
the model from that scene and re-import it from the file to obtain the scene.
updated version. Referenced models also let you work at different levels of detail. You
can have a low-resolution model for fast interaction while animating, a
Importing Local Models medium-resolution model for more accurate previewing, and a high-
When you import a model locally instead of as a referenced model, its resolution model for the final results.
data becomes part of your scene. It is as if the model was created Referenced models are indicated in the explorer by a white man icon.
directly in the scene—there is no live link to the .emdl file. You can The default name of this node depends on the name of the external file,
make any changes you want to the model and its children. but you can change it if you want. The name of the active resolution
To import a model locally, choose File > Import > Model from the appears in square brackets after the model’s name. The name of a delta’s
main menu. You can also drag an .emdl file from a browser or a link on target model appears after the delta’s name.
a Net View page and drop it onto the background of a 3D view. On
Windows, you can also drag an .emdl file from a folder window.

Importing Referenced Models


Referenced models are models that are imported using File > Import >
Referenced Model or converted to referenced using Edit > Model >
Convert to Referenced. Their data is not stored in the scene—it is
referenced from an external .emdl or .xsi file. Changes made to the
external model are reflected in your scene the next time you open the Use the Modify > Model menu on the Model toolbar to set the current
scene or update the reference. resolution, or to temporarily offload models.

80 • Softimage
Models

You can change a referenced model’s Parameters display a white


parameters values, animate them, apply lock icon but they can still
be modified and animated.
new properties, and so on. These
changes are stored in the clip and
reapplied when the model is updated. There are some changes you
can’t make, such as adding an object to the hierarchy or deleting a
property.
Whatever changes you perform, make sure that they are selected in the
delta’s Recorded/Applied Modifications property, otherwise they will be
lost the next time the model is updated.

Instantiating Models
An instance is an exact replica of a model. Any type of model can be
instanced. You can create as many instances as you like using the
commands on the Edit > Duplicate/Instantiate menu, and position
them anywhere in your scene. When you modify the original “master”
model, all instances update automatically.
Instances are useful because they require very little memory: only the
transformations of the instance root is stored. However, you cannot
modify, for example, an instance’s geometry or material.
Instantiation has the following advantages:
• Instances use much less disk space than duplicates or clones
because you’re not duplicating the geometry.
• Editing multiple identical objects is very simple because you only
have to edit the original.
• Wireframe, shading, and memory operations are much faster.
Instances are displayed in the explorer with a cyan i superimposed on
the model icon. In the schematic view, they are represented by
trapezoids with the label I.
Instance in the Instance in the
explorer. schematic view.

Basics • 81
Section 4 • Organizing Your Data

Importing and Exporting


In any production pipeline, you will need to import and export scene Importing and Exporting with Point Oven
data for reuse in other scenes or software packages.
Point Oven is a suite of plug-ins available from within Softimage that
Softimage provides a number of importers and exporters available allow you to simplify your Softimage scenes by baking in vertex and
from the File > Import, File > Export, and File > Crosswalk menus. function curve data. These plug-ins also allow you to streamline your
Softimage also supports many other file types such as audio, video, pipeline by providing data transfer between different applications that
various graphics and middleware formats, as well as specialized scene also use Point Oven.
elements such as function curves, actions, and motion capture data.
The Softimage Point Oven plug-ins let you load and save various types
of data: you can import and export Lightwave Object (LWO2) files,
Importing and Exporting with Crosswalk
bake vertices to MDD files, import and export Point Oven scenes
Crosswalk is a set of plug-ins and converters that lets you transfer assets (PSC), export Lightwave scenes (LWS), export Messiah scenes (FXS),
such as scenes and models between Softimage and other programs in and import MDD files.
your pipeline such as Autodesk Maya and Autodesk 3ds Max. The
You can access the Point Oven plug-ins from the File > Import > Point
Crosswalk converters are available in Softimage from File > Crosswalk.
Oven and File > Export > Point Oven menus.
You can download the latest version of Crosswalk from
www.autodesk.com/softimage-crosswalk.
Importing and Exporting Obj Files
FBX, Collada, and dotXSI You can import and export Wavefront Obj files to transfer data back
You can use Crosswalk in Softimage to import and export scenes and and forth with other programs that support this format using File >
models in FBX (.fbx), Collada (.dae, .xml), and dotXSI (.xsi) formats. Import > Obj File and File > Export > Obj File.

3ds Max and Maya Importing and Exporting Other Formats


Crosswalk plug-ins for Maya and 3ds Max allow you to import and In addition to the formats explicitly mentioned here, Softimage
export dotXSI files in those programs. This allows you to share assets supports a large number of other formats for scenes, animation,
back and forth with Softimage. motion capture, images, and so on.
Crosswalk SDK
You can use the templates and examples provided in the Crosswalk
SDK to create converters to import dotXSI files into your own custom
format, such as for games content.

82 • Softimage
Section 5

General Modeling
Modeling is the task of creating the objects that you
will animate and render. No matter what type of
object you are modeling, the same basic concepts
and techniques apply. This section explores the
aspects of modeling that aren’t specific to any specific
type of geometry such as curves, polygon meshes, or
NURBS surfaces.

What you’ll find in this section ...


• Overview of Modeling
• Geometric Objects
• Accessing Modeling Commands
• Starting from Scratch
• Operator Stack
• Modeling Relations
• Attribute Transfer (GATOR)
• Manipulating Components
• Deformations

Basics • 83
Section 5 • General Modeling

Overview of Modeling
1 Start with a basic object, such as a primitive cube. 2 Add more subdivisions to work with.

3 Rough out the basic shape of the object. 4 Iteratively refine the object, moving points 5 Once the modeling is done, the object
and adding more detail where required. is ready to be textured and animated.
If changes are necessary, you can still
perform modeling operations on the
animated, textured object.

84 • Softimage
Geometric Objects

Geometric Objects
By definition, geometric objects have points. The set of these points On the other hand, polygon meshes may require very heavy geometry
and their positions determine the shape of an object and are often (that is, many points) to approximate smoothly curved objects.
called the object’s geometry. The number of points and how they are However, you can subdivide them to create “virtual” geometry that is
connected is called its topology. smoother.
No matter what the type of geometry, Softimage allows you to select,
manipulate, and deform points in the same way.

Types of Geometry
A subdivision surface created from a cube.
The main types of renderable geometry in Softimage are polygon
meshes and NURBS surfaces. In addition, there are other types of
geometry that you can use for specialized purposes.

Polygon Meshes
NURBS Surfaces
Polygon meshes are quilts of polygons joined at their edges and
vertices. One advantage of polygon meshes is that they allow for almost Surfaces are two-dimensional NURBS (non-uniform rational B-splines)
arbitrary topology—you are not limited to rectangular patches and patches defined by intersecting curves in the U and V directions. In a
you can add extra points for more detail where needed. cubic NURBS surface, the surface is mathematically interpolated
between the control points, resulting in a smooth shape with relatively
few control points.
The accuracy of NURBS makes them ideal for smooth, manufactured
A polygon mesh sphere
shapes like car and aeroplane bodies. One limitation of surfaces is that
they are always four-sided.

NURBS surfaces allow for smooth geometry


with relatively few control points.

Basics • 85
Section 5 • General Modeling

Curves Particles
In Softimage, curves are one-dimensional NURBS of linear or cubic Particles are disconnected points in a point
degree. Cubic curves with Bézier knots can be manipulated as if they are cloud. They are often emitted in simulations to
Bézier curves. create a variety of effects, such as fire, water, and
smoke.
Curves have points but they are not renderable because they have no
thickness. Nevertheless, they have many uses, such as serving as the basis In Softimage, point clouds are controlled by ICE
for constructing polygon meshes surfaces, paths for objects to move along, trees. See ICE Particles on page 271.
controlling deformations like deform by curve and deform by spine, and
so on.

A simple cubic NURBS curve.


Hair
Hair objects let you use guide hairs to
Lattices control a full head of render hairs.
You can style the hairs manually as
Lattices are a hybrid between geometric objects and control objects. well as apply a dynamic simulation.
Although they have points, they do not render and are used only to
deform other geometric objects.

Density
Density refers to the number of points on an object. Part of the art of
modeling is controlling the balance of density. Generally speaking, you
need more density in areas where an object has high detail or needs to
deform smoothly. However, too much density means that an object
will be unnecessarily slow to load, update, and render.

86 • Softimage
Geometric Objects

Normals
On polygon meshes and surfaces, the control points form bounded
areas. Normals are vectors perpendicular to these closed areas on the
surface, and they indicate the visible side of the object and how its
surface is oriented. Normals are used to compute shading between
surface triangles.
Normals are represented by thin blue lines. To display or hide them,
click the eye icon (Show menu) of a 3D view and choose Normals.

Eye icon

When normals are oriented in the wrong direction, they cause


modeling or rendering problems. You can invert them using Modify >
Surface > Invert Normals or Modify > Poly. Mesh > Invert Normals
on the Model toolbar.
If an object was generated from curves, you can also invert its normals
by inverting one or more of its generator curves with Modify >
Curve > Inverse.
Normals should point toward the camera.

Right Wrong

Basics • 87
Section 5 • General Modeling

Accessing Modeling Commands


The modeling tools can be found, not surprisingly, on the Model Context Menus
toolbar. In addition, the context menu also contains many of the most
useful modeling commands that apply to the current selection. Many modeling commands are available from context menus. The
context menu appears when you Alt+right-click in the 3D views
(Ctrl+Alt+right-click on Linux).
Model Toolbar
• If you click a selected object, the menu items apply to all selected
You’ll find the Model toolbar at the far left of the screen. These
objects. On Windows, you can also press the context-menu key
commands are also available from the main menu.
(next to the right Ctrl key on some keyboards).
• If you click an unselected object, the menu items apply only to that
Get commands object.
Create generic elements,
including primitive objects, • When components are selected, you can right-click anywhere on
cameras, and lights (also
the object that “owns” the selected components. The items on the
available on Animate, Render,
and Simulate toolbars). To display the Model context menu apply to the selected components.
toolbar:
• If you click over an empty area of a 3D view, the menu items apply
– Click the toolbar title and to the view itself.
choose Model.
Create commands
or
Draw new objects or generate
them from existing ones. – Press 1 at the top of
the keyboard.

If the Palette or Paint panel is


currently displayed, first click
Modify commands the Toolbar icon or press
Change an object’s topology Ctrl+1.
or deform its geometry.

88 • Softimage
Starting from Scratch

Starting from Scratch - Surface displays a submenu from which you can choose an
available NURBS surface shape.
When modeling, you need to start somewhere. You can:
3. Set the parameters as desired. The geometric primitives (curves,
• Get a basic shape from the Primitive menu. polygon meshes, and surfaces) have certain typical controls:
• Create text. - The shape-specific page contains the basic characteristics of the
• Generate an object from a curve. shape. Each shape has different characteristics; for example, a
sphere has one radius and a torus has two.
Primitives - The Geometry page controls how the implicit shape is subdivided
when converted into a surface. More subdivisions yield more
Primitives are basic shapes like cubes, grids and
points, resulting in greater detail but heavier geometry.
spheres. You can add them to a scene and then
modify them as you wish. For example, you can start
with a sphere and move points to create a head. You Text
can then attach eyeballs and ears to the head and put You can create text in Softimage, as well as import it from RTF (rich
the whole head on a model of a character. text format) files. Text is not a type of geometric object in Softimage;
There are several different primitive shapes for each geometry type. instead, text information is immediately converted to curves. After
Each primitive shape has parameters that are particular to it—for that, the curves can be optionally converted to planar or extruded
example, a sphere has a radius that you can specify, a cube has a length, polygon meshes.
a cylinder has both height and radius, and so on.
There are also several parameters that are common to all or to several
primitive shapes: Subdivisions, Start and End Angles, and Close End.

Getting Primitives
You add a primitive object to the scene by choosing an
option from the Get > Primitive menu on any of the
toolbars at the left of the main window. Creating Text
1. Choose Get > Primitive. • Choose one of the following commands from the Model toolbar:
2. Choose an item from the submenus: - Create > Text > Curves creates a Text primitive and converts it to
a curve object.
- Curve displays a submenu from which you can choose an
available NURBS curve shape. - Create > Text > Planar Mesh creates a Text primitive, converts it
to a curve object, and then finally converts the curve to a polygon
- Polygon Mesh displays a submenu from which you can choose an mesh with the Extrusion Length set to 0. The curve object is
available polygon mesh shape. automatically hidden.

Basics • 89
Section 5 • General Modeling

- Create > Text > Solid Mesh creates a Text primitive, converts it to
a curve object, and then finally converts the curve to a polygon
mesh with the Extrusion Length set to 0.5 by default. Once again,
the curve object is automatically hidden.
In each case, a property editor with the following pages is displayed: Enter text and
font properties.

Convert curves to
polygon meshes
(optional).

Objects from Curves


You can generate polygon meshes and surfaces from curves using the
first group of commands in the Create > Surf. Mesh menu or the
Create > Poly. Mesh menu on the Model toolbar.

Create surface from curves

Convert text
to curves.
Create polygon mesh from curves

The commands and the general procedures on these two menus are the
same—the only difference is the type of object that is created.

90 • Softimage
Operator Stack

1. Select the first input curve, then add the remaining input curves (if Operator Stack
any) to the selection.
The operator stack (also known as the modifier stack or construction
Different commands require different numbers of input curves. For history) is fundamental to modeling in Softimage. Every time you
example, Revolution Around Axis requires only one curve, while perform a modeling operation, such as modify the topology or apply a
Loft allows for any number of profile curves to define the cross- deformation, an operator is added to the stack. Operators propagate
section. their effects upwards through the stack, with the output of one
You are not limited to curve objects. You can also select curves on operator being the input of the next. At any time, you can go back and
surfaces, including any combination of isolines, knot curves, modify or delete operators in the stack.
boundaries, surface curves, and trim curves. For example, you can
create a loft surface that joins two surface boundaries while passing Viewing and Modifying Operators
through other curves.
You can view the operator stack of an object in an explorer if Operators
2. Choose one of the commands from the first group in the Create > is active in the Filters menu. The operator stack is under the first
Surf. Mesh or the Create > Poly. Mesh on the Model toolbar. subnode of an object in the explorer, typically named Polygon Mesh,
NURBS Surface Mesh, NURBS Curve List, and so on.
3. In the property editor that opens, adjust the parameters as desired.
For more information, refer to the Softimage Reference by clicking For example, suppose you get a primitive polygon mesh grid, apply a
on the ? in the property editor. twist, then randomize the surface. The operator stack shows the
operators that have been applied. You can open the property page of
any operator by clicking on its icon, and then modify values. Any
changes you make are passed up through the history and reflected in
the final object.

Click icon to open Click the name to


the property editor. select the operator.
Then you can press
Enter to open the
editor, or press
Delete to remove
the operator.
2 Guide curve
1 Profile curve For example, you can:

Example of extruding a curve along another curve • Change the size of the grid in its Geometry node.
• Change the angle, offset, and axis of the twist in Twist Op.
• Change the random displacement parameters in Randomize Op.

Basics • 91
Section 5 • General Modeling

Here is a quick overview of the workflow for using construction modes:


To quickly open the last operator in the selected object’s stack,
press Ctrl+End or choose Edit > Properties > Last Operator in 1. Set the current construction mode
Stack. using the selector on the main menu
bar.
If you modify specific components, then go back earlier in
the stack and change the number of subdivisions, you’ll 2. Continue modeling objects by applying new operators. New
probably get undesirable results because the indices of the deformations (operations that only change the positions of points)
affected points have changed. are applied at the top of the current region, and new topology
modifiers (operators that change the number of components) are
Construction Modes and Regions always applied at the top of the Modeling region. If you apply a
deformation in the wrong region, you can move it by dragging and
The construction history is divided into four regions: Modeling, Shape dropping in the explorer.
Modeling, Animation, and Secondary Shape Modeling. The purpose
of these regions is to keep the construction history clean and well 3. At any time as you work, you can display the final result (the result
ordered by allowing you to classify operators according to how you of all operators in all regions) or the just the current mode (the
intend to use them. result of all operators in the current region and those below it) by
selecting an option from the Construction Mode Display submenu
For example, when you apply a deformation, you might be building the of the Display Mode menu on the top right of a viewport:
object’s basic geometry (Modeling), or creating a shape key for use
with shape animation (Shape Modeling), or creating an animated - Result (top) always shows the final result of all operators, no
effect (Animation), or creating a shape key to tweak an enveloped matter which construction mode is current.
object (Secondary Shape Modeling). - Sync with construction mode shows the result of the operators in
the current construction region and below.

Secondary Shape
Modeling Animation
Define shapes on Apply envelopes or Display Mode
top of envelopes, other animated menu
e.g., muscle bulges. deformations.

Shape Modeling Modeling


Define shapes for Create the basic
animation. shape and topology
of an object.
Use Freeze M to You can even have different displays in different views so, for
freeze this region. example, you can see and move points in one view in Modeling
mode while you see the results after enveloping and other
deformations in another view.

92 • Softimage
Operator Stack

Changing the Order of Operators • Freezing removes any animation on the modeling
You can change the order of operators in an object’s stack by dragging operators (such as the angle of a Twist deformation). The
and dropping them in an explorer view. You must always drop the values at the current frame are used.
operator onto the operator or marker that is immediately below the • For hair objects, the Hair Generator and Hair Dynamics
position where you want the dragged operator to go. operators are never removed.
Be aware that you might not always get the results you expect,
particularly if you move topology operators or move other operators Collapsing Deformation Operators
across topology operators, because operators that previously affected Sometimes, it is useful to “freeze” certain operators in the stack
certain components may now affect different ones. In addition, some without freezing earlier operators that are lower in the stack. For
deformation operators like MoveComponent or Offset may not give example, you might have many MoveComponent operators that are
expected results when moved because they store offsets for point slowing down your scene, but you don’t want to lose an animated
positions whose reference frames may be different at another location deformation or a generator (if your object has a modeling relation that
in the stack. you want to keep).
When you try to drag and drop an operator, Softimage evaluates the In these cases, you can collapse several deformation operator into a
implications of the change to make sure it creates no dependency cycles single Offset operator. The Offset operator is a single deformation that
in the data. If it detects a dependency, it will not let you drop the contains the net effect of the collapsed deformations at the current
operator in that location. Moving an operator up often works better frame. Simply select the deformations operators in an explorer and
than moving it down—this is because of hidden cluster creation choose Edit > Operator > Collapse Operators.
operators on which some operators depend.

Freezing the Operator Stack


When you are satisfied with an object, you can freeze all or part of its
operator stack. This removes the current history—as a result, the
object requires less memory and is quicker to update. However, you
can no longer go back and change values.
• To freeze the entire stack, select the object and click Freeze on the
Edit panel.
• To freeze just the modeling region, select the object and click
Freeze M.
• To freeze from a specific operator down, select the operator in an
explorer and click Freeze.

Basics • 93
Section 5 • General Modeling

Modeling Relations
When you generate an object from other objects, a modeling relation is You can modify the generated object in any way you like, for example, by
established. For example, if you create a surface by extruding one curve moving points or applying a deformation. When you modify the
along another curve, the resulting surface is linked to its generator generators, the generated object is updated while any modifications you
curves. If you modify the curves, the surface updates automatically. have made to it are preserved.
The modeling relation is sometimes called construction history in other
software. If you delete the input objects, the generated object is
removed as well. To avoid this, freeze the generated object or
at least the generator operator before deleting the inputs. If
you use the Delete button in the Inputs section of the
generator’s property editor, the generator is automatically
frozen first.
You can display the modeling relations:
• In a 3D view, click the eye icon (Show menu) and make sure that
Relations is on.
• In a schematic view, make sure that Show > Operator Links is on.
If the selected object has a modeling relation, it is linked to its input
objects by lines. A label on the line identifies the type of relation (such
as wave or revolution) and the name of the input object. You can click
the line to select the corresponding operator.
Modeling Relation
The road was created by extruding a cross-
section along a guide. When the original
guide was deformed into a loop, the road
was updated automatically.

94 • Softimage
Attribute Transfer (GATOR)

Attribute Transfer (GATOR) Manipulating Components


You can transfer and merge clusters with properties from object to Tweak Component is the main tool for moving components. It allows
object. The cluster properties that you can transfer in this way include you to translate, rotate, and scale points, polygons, and edges. You can
materials, texture UV coordinates, vertex colors, property weight use it in two ways:
maps, envelope weights, and shape animation.
• Click and drag components for a fast, uninterrupted interaction.
Attributes can be transferred in two ways:
• Select a component and then use the manipulator for a more
• If you are generating a polygon mesh object from others, for controlled interaction.
example using Merge or Subdivision, use the controls in the
generator’s property editor to transfer attributes from the input To use the Tweak Component tool
objects to the generated objects. 1. Select a geometric object.
• Otherwise, select the target object, choose Get > Property > GATOR, 2. Activate the Tweak Component tool by pressing m or choosing
pick one or more input objects, and right-click to end the picking Modify > Component > Tweak Component Tool from the Model
session. You can use any combination of polygon meshes and NURBS toolbar.
surfaces.
Note that if a curve is selected, then pressing m activates the Direct
Manipulation tool instead. However, you can still use Tweak
Transfer and merge Component with curves by choosing it from the toolbar menu.
surface attributes.
3. Move the mouse pointer over the object in any geometry view. As
Transfer and merge the pointer moves, the component under the pointer is
animation attributes. highlighted.
Transfer and merge The Tweak Component tool will not highlight backfacing
specific attributes components, or components that are occluded by parts of the same
manually. object. When there are multiple types of components within the
picking radius, priority is given first to points, then to edges, and
finally to polygons.
4. Do one of the following:
- Click+drag to perform a simple transformation on the
highlighted component. If all axes are active on the Transform
panel, translation occurs in the viewing plane and scaling is
uniform in local space. If one or more axes have been toggled off,
translation and scaling use the current manipulation mode and
active axes set on the Transform panel. For example, to translate
along a point’s normal, activate Local and the Y axis only.

Basics • 95
Section 5 • General Modeling

Rotation uses the current manipulation mode and the Y axis by Switching between Translation, Rotation, and
default, but you can select a different axis by deactivating the Scaling
others.
The Tweak Component tool lets you translate, rotate, or scale
- Click and release the mouse button to select the highlighted components. Select the desired transformation using the v, c, and x
component. A manipulator appears (unless you’ve toggled it off). keys—press and release a key to change the transformation (sticky
You can use the manipulator to transform the selection, or if you mode) or press and hold a key to temporarily override the current
prefer you can first modify the selection, change the pivot, and set transformation (supra mode).
other options.
• To translate, press v or choose Translate from the context menu.
The Tweak Component tool uses the Ctrl, Shift, and Alt modifier
keys with the left and middle mouse buttons to perform different Drag the center to translate Drag an axis to translate in
freely in the viewing plane. the corresponding direction.
functions—look at the mouse/status line at the bottom of the
Softimage window for brief descriptions, or read the rest of this
section for the details. The right mouse button opens a context
menu.
5. The Tweak Component tool remains active, so you can repeat steps
3 and 4 to manipulate other components.
When you have finished, deactivate the tool by pressing Esc or
activating a different tool.

• To rotate, press c or choose Rotate from the context menu.


Drag an axis to rotate in the
corresponding direction.

96 • Softimage
Manipulating Components

• To scale, press x or choose Scale from the context menu. • Ref, or reference, mode lets you transform elements using another
component or object as the reference frame. See Setting the Pivot on
Drag the center to Drag an axis to scale in the
corresponding direction.
page 98.
scale uniformly.
• Plane mode is similar to Ref. It uses the same axes as Ref but the
object center as the pivot.

Activating Axes
You can activate or deactivate axes on the Individual axes
Transform panel:
• Click an axis icon to activate it and deactivate
the others.
The mouse pointer updates to reflect the current action. You can also • Shift+click an axis icon to activate it without
press Tab to cycle through the three actions, or Shift+Tab to cycle in All Axes
affecting the others.
reverse order.
• Ctrl+click an axis icon to toggle it.
To activate the standard Translate, Rotate, or Scale tools, you must
either deactivate the Tweak Component tool before pressing v, c, or x, • Click the All Axes icon to activate all three axes.
or use the t, r, or s buttons on the Transform panel. • Ctrl+click the All Axes icon to toggle all three axes.

Setting Manipulation Modes Alternatively if the Tweak manipulator is displayed, you can activate a
single axis by double-clicking on it. Double-click on the same axis
The Tweak Component tool uses the manipulation again to re-activate all axes, or on a different one to activate it instead.
modes shown on the Transform panel. They affect
the axes and pivot used for the transformation.
• Global transformations are performed along the scene’s global
axes.
• Local transformations use the component’s own reference frame.
In this mode, Y is the normal direction.
• View transformations are performed with respect to the viewing
plane of the 3D view.
• Object transformations are performed in the local coordinate
system of the object that contains the components.

Basics • 97
Section 5 • General Modeling

Selecting Components Note that for edge loops, the direction is implied so you can simply
Alt+middle-click on an edge to select the loop and then
The Tweak Component tool lets you select components in a similar Alt+Shift+middle-click to select additional loops. However, to select
way to the standard selection tools, but there are some differences. parallel edge loops, you still need to specify two components as
described above.
Selecting, Deselecting, and Extending the Selection
Use the following keyboard and mouse combinations for selection: Selecting by Type

• Click a component to select it. The Tweak Component tool allows you to manipulate points, edges,
and polygons, but you can limit it to a particular type of component if
• Shift+click a component to add it to the selection. you desire. Use the context menu to activate Tweak All, Points, Edges,
• Shift+middle-click to toggle-select a component. Polygons, or Points + Edges.

• Ctrl+Shift+click to deselect a component. Setting the Pivot


• To quickly deselect all components, click anywhere outside the You can quickly set the pivot by middle-clicking on a component. For
object. example, to rotate a polygon about one of its edges, simply click to
Note that you can only multi-select components of the same type. You select the polygon and then middle-click to specify the edge as the
cannot select a heterogeneous collection of points, edges, and reference. The manipulator does not react to middle-clicks unless Shift
polygons. is pressed, so you can pick a component even if the manipulator is
covering it in a view.
Selecting Loops and Ranges
Middle-clicking temporarily switches to Ref manipulation mode. As
Use the Alt key to select loops or ranges of components. soon as you select a new component, the previous manipulation mode is
restored. If you want to transform several components about the same
To select loops or ranges of components reference one after another, you should manually switch to Ref mode and
1. Click to select the first or “anchor” component. then middle-click to specify the reference. In this way, the reference
frame does not revert to the default when you select a new component to
2. Do one of the following: manipulate.
- Alt+click on a second component to select all components on a
path between the two components.
- Alt+middle-click on a second component to select all
components in the loop that contains both components.
3. To select additional loops or ranges, use Shift+click to specify a new
anchor and then Alt+Shift+click for a new range or
Alt+Shift+middle-click for a new loop.

98 • Softimage
Manipulating Components

Using Proportional Modeling Sliding Components


When you manipulate points, edges, and polygons, you can use You can slide components with the Tweak Component tool. This helps
proportional modeling. When this option is on, neighboring to preserve the contours of objects as you tweak them.
components are affected as well, with a falloff that depends on distance.
Sliding an edge moves its endpoints along the adjacent edges by an
Proportional modeling is sometimes known as “magnet” or “soft
equal percentage. Sliding a point or a polygon clamps the associated
selection”.
points to the nearest location on the surface of the mesh, as if they had
been shrinkwrapped to the original untweaked object. Sliding works
only on polygon mesh components.

Proportional modeling off

Proportional modeling on
Selected edge loop. Effect of sliding. Effect of ordinary
translation
To activate proportional modeling, click the Prop button on the for comparison.
Transform panel.
To activate or deactivate sliding:
• While the Tweak Component tool is active, do one of the following:
- Press j. Press and release the key to toggle sliding on or off (sticky
Components that are affected by the proportional falloff are mode) or press and hold it to temporarily override the current
highlighted, and the Distance Limit is displayed as a circle. behavior (supra mode).
You can change the Distance Limit interactively when proportional - Click the on-screen Slide icon at the bottom of the view.
modeling is active by pressing and holding r while dragging the mouse
left or right. You can change the Falloff (Bias) profile by pressing and Slide Components button
holding Shift+R while dragging the mouse.
To change other proportional settings, right-click on Prop. - Right-click and choose Slide Components.

Basics • 99
Section 5 • General Modeling

Snapping 3. Release the mouse button over the point you want to weld to.
You can use the Ctrl key to snap while using the Tweak Component Note that interactive welding uses the same snapping region size as
tool: the Snap tool. You can modify the region size using the Snap menu.
• Press Ctrl to toggle snapping to targets on or off (depending on its 4. Repeat steps 2 and 3 to weld more points, if desired. When you
current setting on the Snap panel) while translating. have finished welding, toggle Weld Points off.
• Press Ctrl to snap by increments while scaling.
Hiding the Manipulator
For more information about snapping options, see Snapping on
If you don’t like working with the
page 72.
manipulator, you can hide or unhide it by
Toggle Manipulator button
clicking the on-screen button at the bottom
Welding Points of the view or by choosing Toggle
You can interactively weld pairs of points on polygon meshes while Manipulator from the context menu.
using the Tweak Component tool. Welding merges points into a When the manipulator is off, the Tweak Component tool is always in
single vertex. click-and-drag mode:
To weld points • If all axes are active on the Transform panel, translation occurs in
1. While the Tweak Component tool is active, toggle Weld Points on the viewing plane and scaling is uniform in local space. If one or
by doing one of the following: more axes have been toggled off, translation and scaling use the
current manipulation mode and active axes set on the Transform
- Press l. Press and release the key to toggle welding on or off panel.
(sticky mode) or press and hold it to temporarily override the
current behavior (supra mode). • Rotation uses the current manipulation mode and the Y axis by
default, but you can select a different axis by deactivating the
- Click the on-screen Weld Points icon at the bottom of the view. others.

Weld Points button

- Right-click and choose Weld Points.


2. Click and drag a point. As you move the mouse pointer, the point
snaps to points within the region.

100 • Softimage
Manipulating Components

Manipulating Components Symmetrically


Symmetrical manipulation lets you move points and other
components while maintaining the symmetry of an object. Any
manipulation performed on components on one side is mirrored to
the corresponding components on the other side. Components that lie
directly on the plane of symmetry are “locked down”; they can be
translated or moved only along the plane of symmetry itself.
There are two ways to do this in Softimage:
• To move components symmetrically in “live” mode, simply activate
Sym on the Transform panel. Softimage automatically finds
symmetrical components (within a small tolerance) and moves
them, too.
• If you will need to maintain a correspondence between points even
after an object is no longer symmetrical, you first need to apply a
symmetry map (Get > Property > Symmetry Map) while the
object is still symmetrical. This allows you to manipulate
components symmetrically after a character has been enveloped
and posed, for example.
To specify the plane of symmetry or set other options, right-click
on Sym.

Alternatives to the Tweak Component Tool


In addition to the Tweak Component tool, Softimage provides many
other ways to manipulate components. For example, you could use the
regular selection and transformation tools, or some of the other tools
on the Modify > Component menu.

Basics • 101
Section 5 • General Modeling

Deformations
Deformations are operators that change the shape of geometric objects. Lattice Deformation
Softimage provides a large variety of deformation types available from
the Modify > Deform menu of the Model and Simulate toolbars as well
as the Deform > Deform menu of the Animate toolbar.
Some deformations, like Bend and Twist, are very simple. Others, like
Lattice and Curve, use additional objects to control the effect.
Deformations can be used either as modeling tools or animation tools.
Depending on the type of deformation, you can animate the
deformation’s own parameters, such as the amplitude of a Push, or the Wave Deformation
properties of a controlling object, such as the center of a Wave.

Examples of Deformations
Circular wave
Here are just some examples of the many types of deformation and
their possible uses.

Deformation by Curve

Planar wave

Object and curve before the Object and curve after the
deformation is applied deformation is applied
Muting Deformations
All deformations can be muted. This temporarily disables its effect. To
mute a deformation, activate Mute in its property editor. Alternatively,
right-click on its operator in an explorer and choose Mute.

102 • Softimage
Section 6

Curves
Softimage provides a full set of tools for creating and
editing curves in 3D space. Although they can’t be
rendered by themselves, curves form the basis for a
lot of modeling and animation techniques.

What you’ll find in this section ...


• About Curves
• Drawing Curves
• Manipulating Curve Components
• Modifying Curves
• Inverting Curves
• Importing EPS Files

Basics • 103
Section 6 • Curves

About Curves Drawing Curves


In Softimage, you can use curves to: Softimage has tools and commands that let you draw and manipulate
curves in a variety of ways.
• To build objects, for example, by revolving, extruding, or using
Curves to Mesh, In Softimage, you can draw and manipulate two types of curve: linear
and cubic. Linear curves are composed of straight segments, and cubic
• To deform objects, for example, using curve or spine deformations.
curves are composed of curved segments.
• As paths and trajectories for animation.
Curves are linear (degree 1) or cubic (degree 3) NURBS (Non-Uniform
Rational B-Splines). NURBS are a class of curves that computers can
easily manipulate, allowing for a great deal of flexibility in modeling.

Curve Components
Curves have many components. You can display these components Linear Curve Cubic Curve
using the options on a viewport’s Show menu (eye icon) and select Knot has multiplicity 1.
them using the filters on the Select panel.

Knots lie on the curve.

Cubic curves are


NURBS Boundaries interpolated
show the beginning between points.
of the curve (U = 0). Cubic Curve Cubic Curve
Knot has multiplicity 2. Knot has multiplicity 3 (Bézier).

On a cubic curve, each knot can have a multiplicity of 1, 2, or 3. This


value refers to the number of control points associated to the knot. In
general, knots with higher multiplicity are less smooth but provide
Segments are
more control over the trace of the curve. A knot with multiplicity 3 is
the span
between knots. like a Bézier point, with one control point at the position of the knot
and the other two control points acting as the tangent handles.
The Tweak Curve tool allows you to manipulate these knots in a Bézier-
Hulls join points.
like manner—see Manipulating Curve Components on page 107.
Whether the back and forward tangents remain aligned depends on
how you manipulate them—it is not a property of the knot itself.

104 • Softimage
Drawing Curves

• Draw Linear allows you to draw lines of connected straight


segments (sometimes called polylines). The straight segments meet
at the locations you click.
To add points or knots to an existing curve, use the corresponding
commands on the Modify > Curve menu. To remove points or knots,
select them and press Delete.
Broken tangents create Four control points create a straight The choice between linear, cubic Bézier, and cubic non-Bézier drawing
a sharp corner. segment when they are lined up. tools depends on the situation. When creating profiles for modeling,
linear curves give a good sense of the final result. For paths, you’ll want
Bézier knots also allow you to create straight segments by rotating the cubic curves—non-Bézier curves are smoother but you may find
tangents to point at adjacent knots, so that four control points are lined Bézier curves easier to control. Bézier curves also give you the ability to
up in a row. Again, whether the control points remain lined up depends have sharp corners, and to mix curved and straight segments. The
on how you manipulate the adjacent knots—it is not a property of the choice between placing control points or placing knots to draw cubic
segment. See Drawing a Combination of Linear and Curved Segments on non-Bézier curves is simply a matter of personal preference.
page 106.
While drawing a curve:
You can draw cubic or linear curves by clicking to place control points
or to place knots. Use one of the following commands from the • To add a point at the end of the curve, use the left mouse button.
Create > Curve menu of the Model or Animate toolbar:
• To add a point between two existing points, use the middle
• Draw Cubic by CVs allows you to place control points (also known mouse button.
as control vertices or CVs). The curve does not pass through the
• To add a point before the first point, first right-click and choose
locations you click but is a weighted interpolation between the
LMB = Add at Start and then use the left mouse button. To return
control points. As you add more points, the existing knot positions
to adding points at the end of the curve, first right-click and choose
may change but the point positions do not.
LMB = Add at End.
• Draw Cubic by Bézier-Knot Points allows you to place knots of
• Other useful commands are available on the context menu when you
multiplicity 3. The curve passes through the points you click. As
right-click: Open/Close, Invert, Start New Curve, and, of course, Exit
you add more knots, the positions of the control points are
Tool.
automatically adjusted to ensure maximum smoothness of the
curve as the curve passes through the existing knot positions. Before you release the mouse button, you can drag the mouse to adjust
the point’s location. Snapping can also be very useful for controlling
• Draw Cubic by Knot Points allows you to place knots of
the position of points and knots. While drawing, you can move any
multiplicity 1. Again, the curve always passes through the locations
point or knot by pressing and holding m while dragging to activate the
you click and the positions of the control points are automatically
Tweak Curve tool in supra mode.
adjusted as you add more knots.

Basics • 105
Section 6 • Curves

Setting Knot Multiplicity


If you will be using curves as profiles for modeling, you should
draw them in a counterclockwise direction. This ensures that You can change the multiplicity of a knot to suit your needs. For
the normals of any surface or polygon mesh you create from the example, reducing the multiplicity makes a curve smoother, but
curves will be oriented correctly. If you will be using curves as increasing the multiplicity to 3 allows you to use Bézier controls and
paths for animation or extruding, you should draw them from make sharp angles.
beginning to end. Otherwise, you may need to invert the curves
or generated objects later. 1. Select one or more knots on a cubic curve. To affect all knots on
one or more curves, select the curve objects instead.
Drawing a Combination of Linear and Curved Segments
2. Choose one of the following commands from the Modify > Curve
Although Softimage does not support having linear and cubic NURBS menu of the Model toolbar:
segments in the same subcurve, you can use Bézier knots to obtain
- Make Knots Bezier set the multiplicity of the selected knots to 3.
straight segments on a cubic curve:
- Make Knots Non-Bezier set the multiplicity of the selected knots
• If you have already begun drawing a linear curve, make it cubic
to 1.
using Modify > Curve > Raise Degree and then use Modify >
Curve > Add Point Tool by Bézier-Knot Points to draw curved - Set Knots Multiplicity opens the Set Crv Knot Multiplicity Op
sections. Press Shift while adding knots to preserve the existing property editor, where you can set the multiplicity of the selected
trace if you want the last-drawn segment to remain straight. knots to 0, 1, 2, or 3. Setting it to 0 is equivalent to removing the
knot.
• If you have already begun drawing a cubic curve, place the knots
where you want them and then straighten the desired segments as
described in Creating Straight Segments on page 109.
Straight segments are not inherently linear. Whether they remain
straight depends on how you manipulate them. Using the Tweak Curve
tool to move a knot preserves the linearity, but it will break if you move
a tangent or use another tool.

106 • Softimage
Manipulating Curve Components

Manipulating Curve Components


The main tool for manipulating curve components is Tweak Curve. Note that pressing m when a curve is not selected will activate the
It allows you to manipulate curves in a Bézier-like manner. In addition Tweak Component tool instead.
to Bézier knots, you can manipulate non-Bézier knots, control points,
2. As you move the mouse pointer close to a knot, the manipulator
and isopoints.
jumps to it. Click and drag the manipulator’s handles to adjust the
1. Select a curve and activate the Tweak Curve tool by pressing m or knot’s position, tangent angle, or tangent length.
choosing Modify > Curve > Tweak Curve from the Model toolbar.

Drag the round handle to rotate the tangent without


changing its length.
Handle on a Bézier knot
Use middle mouse button to rotate one side independently.
Drag the square handle to move the tangent freely.
If the handles have been broken and you want to maintain
Use the middle mouse button to drag one side
their relative angle while rotating them, right-click on the
independently. Once the tangent is broken in this way,
manipulator and choose LMB Binds Broken Tangents.
the handles always move independently until you align
them again.
Drag the central knot to move it freely. The tangent handles
Shift+drag to scale the tangent length without affecting maintain their relative positions to the knot, unless an
the slope. Again, use the middle mouse button to scale adjacent segment is linear (four control points lined up). In
one side independently. that case, the tangent handles are automatically adjusted to
maintain the linearity of the segment.
Use the middle mouse button to drag the central knot while
leaving the tangent points in place.

Handle on a non-Bézier point


Drag the round handle to rotate the tangent without
changing its length. Drag the knot (or isopoint) to move it freely.

Drag a control point to move it and affect the trace of the


Drag the square handle to move the tangent freely. curve indirectly.
Press Shift to scale the tangent length without
affecting the slope.

Basics • 107
Section 6 • Curves

You can also: Breaking and Aligning Bézier Tangents


- Click and drag a control point to move it to a new location. On a Bézier knot, the back and forward tangents can have different
orientations. When the tangents are “broken” or “unlinked” in this
- Select an isopoint by clicking on a curve segment between knots.
way, the result is a sharp corner.
A manipulator appears at the isopoint. To select an isopoint that
is very close to a knot, you can click on the curve farther away
and then slide the mouse pointer closer before releasing the
button. Broken Aligned tangents
tangents
- Right-click on a knot or isopoint manipulator to access a context
menu containing commands that affect that point, as well as
other tool options.
Note that if you right-click on a selected knot (or on another part
of the curve while knots are selected), the context menu is
different (although many of the same items are available on both Breaking Tangents
menus). In this case, the commands apply to all selected knots
and not just the one under the mouse pointer. To break Bézier tangents and adjust the handles independently of each
other, use the middle mouse button while using the Tweak Curve tool.
- Click and drag a rectangle across one or more knots to select
them. Use Shift to add to the selection, Ctrl to toggle, or Aligning Tangents
Ctrl+Shift to deselect. This allows you to apply commands to
multiple selected knots using the context menu or the Modify > After tangent handles have been broken, they can be realigned to make
Curve menu. the curve smooth again at that point. Select one or more Bézier knots
and choose one of the following commands from the Modify > Curve
3. The Tweak Curve tool remains active, so you can repeat step 2 as menu on the Model toolbar:
often as you like. When you have finished, exit the tool by pressing
Esc or activating a different tool. • Align Bezier Handles sets the slopes of both tangents to their
average orientation.
Note that if you move an isopoint that is adjacent to Bézier knots, the
tangents will break. If desired, first add a Bézier knot at the isopoint’s • Align Bezier Handles Back to Forward sets the slope of back
location to preserve continuity. tangent equal to the forward tangent.
• Align Bezier Handles Forward to Back sets the slope of forward
tangent equal to the back tangent.
“Back” and “forward” are considered in terms of the curve’s
parameterization from start to end point.

108 • Softimage
Manipulating Curve Components

Creating Straight Segments To straighten segments adjacent to a knot


You can create straight segments on curves using the commands 1. Select a curve.
available on the Modify > Curve menu of the Model toolbar, or on the
2. Activate the Tweak Curve tool (press m).
context menu of the Tweak Curve tool. Softimage creates Bézier knots,
if necessary, and rotates the appropriate tangents to point at the 3. Move the mouse pointer over an unselected knot.
adjacent knots. Once a straight segment has been created this way, the
4. Right-click and choose one of the following commands from the
Tweak Curve tool maintains the linearity when you move the adjacent
context menu:
knots. However, the segment will revert to a curve if you adjust the
tangent handles, or if you use a different tool to move control points. - Make Adjacent Knot Segments Linear straightens both segments
connected to the knot.
- Make Fwd Knot Segment Linear straightens the forward
segment.
- Make Bwd Knot Segment Linear straightens the back segment.
“Back” and “forward” are considered in terms of the curve’s
parameterization from start to end point.

To straighten segments between knots Alternatives to the Tweak Curve Tool


1. Select the knots at both ends of each segment you want to
In addition to the Tweak Curve tool, Softimage provides many other
straighten. You must do this individually for each segment you
ways to manipulate components. For example, you could use the
want to straighten, even if segments are consecutive.
regular selection and transformation tools, or some of the other tools
2. Choose Modify > Curve > Make Knot Segments Linear from the on the Modify > Component menu.
Model toolbar.
The segments between selected knots become straight.

Basics • 109
Section 6 • Curves

Modifying Curves Creating Curves from Other Objects


The Modify > Curve menu of the Model toolbar contains a variety of Many of the commands on the Create > Curve menu of the Model
commands you can use to modify curves in various ways. Two of the toolbar allow you to create curves based on other objects in your scene.
more common modifications are inverting and opening/closing, but The illustrations here give you an idea of just some of the possibilities.
there are other operations you can perform as well.
Extracting Curve Segments
Opening and Closing Curves
Modify > Curve > Open/Close opens a closed curve and closes an open
one.

Original curve Extracted segment

Fitting Curves onto Curves


Open curve Closed curve

Inverting Curves
Modify > Curve > Invert switches the start and end points of a curve.
The result is as if you had drawn the curve clockwise instead of
counterclockwise or vice versa.
For example, if an object uses the curve as a path, it moves in the Original sketched curve New curve fitted onto sketched curve
opposite direction once you invert the curve. Similarly, if a surface has
been built from the curve and its operator stack was not frozen, its
normals become reversed. Creating Curves from Intersecting Surfaces

Intersection between
two surfaces

110 • Softimage
Importing EPS Files

Blending Curves Importing EPS Files


Use File > Import > EPS File from the main menu to import curves
saved as EPS (encapsulated PostScript) and AI (Adobe Illustrator) files
from a drawing program. Once in Softimage, you can convert them to
polygon meshes using Create > Poly. Mesh > Curves to Mesh to create
planar or extruded logos.

Original curves New blend curve

Filleting Curves

Preparing EPS and AI Files for Import


There are some restrictions on the files you can import. Follow these
guidelines:
• Make sure the file contains only curves. Convert text and other
elements to outlines.
• Save or export as version 8 or previous.
Intersecting curves Fillet between them
• Do not include a TIFF preview header.
Creating Curves from Animation
If you have animated the translation of an object, you can use Tools >
Plot > Curve from the Animate toolbar plot the motion of its center to
generate a curve. For example, this can be used to create a trajectory
curve. You can also plot the movement of a selected point or cluster.

Basics • 111
Section 6 • Curves

112 • Softimage
Section 7

Polygon Mesh
Modeling
Polygon meshes are one of the basic renderable
geometry types in Softimage. They are ideally suited
for modeling non-organic objects with hard edges
and corners, but they can also be used to
approximate smooth, organic objects. Polygon
meshes are particularly used for games development
because of the requirements of most game engines.
Polygon meshes are also the basis of subdivision
surfaces.

What you’ll find in this section ...


• Overview of Polygon Mesh Modeling
• About Polygon Meshes
• Converting Curves to Polygon Meshes
• Drawing Polygons
• Subdividing
• Drawing Edges
• Extruding Components
• Removing Polygon Mesh Components
• Combining Polygon Meshes
• Symmetrizing Polygons
• Cleaning Up Meshes
• Reducing Polygons
• Subdivision Surfaces

Basics • 113
Section 7 • Polygon Mesh Modeling

Overview of Polygon Mesh Modeling About Polygon Meshes


There are three basic approaches to modeling with polygon meshes. When working with polygon meshes, there are some basic concepts
you should understand.
Box Modeling
Polygons
Box modeling starts with a primitive like a cube, then adds subdivision
and shapes it by deforming, adding edges, extruding, and so on. A polygon is a closed 2D shape formed by straight edges. The edges
meet at points called vertices. There are exactly the same number of
vertex points as edges. The simplest polygon is a triangle.

Triangle Quad N-gon


Modeling with Curves
Polygons are classified by the number of edges or vertices. Triangles and
When you model with curves, you begin with curves outlining the quadrilaterals (or quads) are the most commonly used for modeling.
basic shape of your object and convert them to polygon meshes. You Triangles have the advantage of always being planar, while quads give
can then continue to add detail using any techniques you like. better results when used as the basis of subdivision surfaces. Certain
game engines may require that objects be composed entirely of triangles
or quads.
Polygons that are very long and thin, or that have extremely sharp
angles, can give poor results when deforming or shading. Polygons that
are regularly shaped, with all edges and angles being almost equal,
generally give the best results.

Polygon-by-polygon Modeling
With polygon-by-polygon modeling, you draw each polygon directly.

114 • Softimage
About Polygon Meshes

Polygon Meshes Edges that are not shared represent the boundary of the polygon
mesh object and are displayed in light blue if Boundaries and Hard
A polygon mesh is a 3D object composed of Edges are visible in a 3D view.
one or more polygons. Typically these
polygons share edges to form a three- • Polygons are the closed shapes that make up the “tiles” of the mesh.
dimensional patchwork.
Planar and Non-planar Polygons
However, a single polygon mesh object can
also contain discontiguous sections that are When an individual polygon on a polygon mesh is completely flat, it is
not connected by edges. These disconnected A polygon mesh sphere called planar. All its vertices lie in the same plane, and are thus
polygon “islands” can be created by drawing coplanar. Planar polygons give better results when rendering.
them directly or by combining existing polygon meshes.

Types of Polygon Mesh Components


Polygon meshes contain several different types of component: points
(vertices), edges, and polygons.
Planar polygon
on the ground plane with
normals visible.

Polygon

Edge Non-planar polygon


created by moving a point
below the ground plane.

Point
Triangles are always planar because any three points define a plane.
However, quadrilaterals and other polygons can become non-planar,
particularly as you move vertices around in 3D space. When objects are
• Points are the vertices of the polygons. Each point can be shared by automatically tessellated before rendering, non-planar polygons are
many adjacent polygons in the same mesh. divided into triangles. However, other applications such as game
engines may not support non-planar polygons properly.
• Edges are the straight line segments that join two adjacent points.
Edges can be shared by no more than two polygons.

Basics • 115
Section 7 • Polygon Mesh Modeling

Valid Meshes Controlling Shading on Meshes


Softimage has strict rules for valid polygon mesh structures and won’t Use the mesh’s Geometry Approximation property to control whether
let you create an invalid mesh. Some of the rules are: the shading is smooth or faceted across polygons. If the object doesn’t
already have a Geometry Approximation property, choose Get >
• Every point must belong to at least one polygon.
Property > Geometry Approximation from any toolbar.
• Every edge must belong to at least one polygon.
The Discontinuity parameters on the Polygon Mesh page of the
• A given point can be used only once in the same polygon. Geometry Approximation property editor control whether the objects
are faceted or smooth at the edges.
• All edges of a single polygon must be connected to each other.
Among other things, this means that you cannot have a hole in a
single polygon. To get a hole in a polygon mesh, you must have at
least two polygons.

Hole in a
polygon mesh
At least two polygons
are required.

• Edges cannot be shared by more than two polygons. Tri-wings are Faceted polygons are appropriate for geometric shapes like dice.
not supported. To connect three polygons in this way, a double
edge is required.
• Softimage does support one case of non-manifold geometry. A single
point can be shared by two otherwise unconnected parts of a single
mesh object.
If you export geometry from Softimage, remember that such
geometry may not be considered valid by other applications.

A non-manifold geometry
that is valid in Softimage.

Smooth polygons are appropriate for organic shapes like faces.

116 • Softimage
About Polygon Meshes

The illusion of smoothness is created by averaging the normals of • If Automatic is on and Angle is 0, the object is completely faceted.
adjacent polygons. When normals are averaged in this way, the shading
is a smooth gradient along the surface of a polygon. When normals are
not averaged, there is an abrupt change of shading at the polygon
edges.
Automatic discontinuity lets you turn off the averaging of normals for
sharper edges and the discontinuity Angle lets you specify how sharp
edges must be before they appear faceted. If the dihedral angle (angle
between normals) of two adjacent polygons is less than the
Discontinuity Angle, the normals are averaged; otherwise, they are not • If Automatic is off, the object is completely smooth.
averaged.

Dihedral angles: flatter edges


have small angles and sharper
edges large angles.
Discontinuity on Selected Edges
You can achieve different effects by adjusting these two parameters:
In addition to setting the geometry approximation for an entire object,
• If Automatic is on, then the Angle determines the threshold for you can make selected edges discontinuous by marking them as “hard”
faceted polygons. using Modify > Component > Mark Hard Edge/Vertex from the
Model toolbar. Hard edges are displayed in dark blue when Boundaries
Flat edges: normals Sharp edges: normals and Hard Edges is checked on a viewport’s Show menu (eye icon).
averaged, smooth shading not averaged, faceted

Selected edges
marked as hard.

Basics • 117
Section 7 • Polygon Mesh Modeling

Converting Curves to Polygon Meshes


Use Create > Poly. Mesh > Curves to Mesh from the Model toolbar to • Delaunay generates a mesh composed entirely of triangular
create a polygon mesh based on the selected curves. polygons. This method gives consistent and predictable results, and
in particular, it will not give different results if the curves are
Exterior closed curves become disjoint rotated.
parts of the same mesh object.

• Medial Axis creates concentric contour lines along the medial axes
Interior closed curves can become holes. (averages between the input boundary curves), morphing from one
boundary shape to the next. This method creates mainly quads
with some triangles, so it is well-suited for subdivision surfaces.
Tesselating
Tesselation is the process of tiling the curves’ shapes with polygons.
Softimage offers three different tesselation methods:
• Minimum Polygon Count uses the least number of polygons
possible but yields irregular polygons.

Other Options
In addition to controlling the tesselation, there are many other options
to control holes, extrusion, beveling, embossing, and so on.

118 • Softimage
Drawing Polygons

Drawing Polygons
Modify > Poly. Mesh > Add/Edit Polygon Tool is a multi-purpose tool or
that lets you draw polygons interactively by placing vertices. You can
- Middle-click a vertex of the current polygon to remove it.
use it to add polygons to an existing mesh, add or remove points on
existing polygons, or to create a new polygon mesh object. As you move the mouse pointer, the edges that would be created are
outlined in red. To insert the new point between a different pair of
1. Do one of the following:
vertices of the current polygon, first move the mouse across the edge
- To create a new polygon mesh object, first make sure that no connecting them.
polygon meshes are currently selected.
The direction of the normals is determined by the direction in
or which you draw the vertices. If the vertices are drawn in a
counterclockwise direction, the normals face toward the camera and
- To add polygons to an existing polygon mesh object, select the
if drawn clockwise, they face away from the camera. As you draw,
mesh first.
red arrows indicate the order of the vertices.
or
4. When you have finished drawing a polygon, do one of the
- To add or remove points on an existing polygon in a existing following:
polygon mesh object, select that polygon.
- To start a new polygon and automatically share an edge with the
2. Choose Modify > Poly. Mesh > Add/Edit Polygon Tool from the current one, first move the mouse pointer across the desired edge
Model toolbar or press n. and then click the middle mouse button. Repeat step 3 as
necessary.
3. Do one of the following:
or
- Click in a 3D view to add a point. If necessary, you can adjust the
position by moving the mouse pointer before releasing the - To start a new polygon without sharing automatically sharing an
button. edge, click the right mouse button. Repeat step 3 as necessary.
or or
- Click an existing point on another polygon in the same mesh to - When you are finished drawing polygons, exit the Add/Edit
attach the current polygon to it. Polygon tool by clicking the right mouse button twice in a row, by
choosing a different tool, or by pressing Esc.
or
- Click an existing edge of another polygon in the same mesh to
attach the current polygon to it.
or
- Left-click and drag on a vertex of the current polygon to move it.

Basics • 119
Section 7 • Polygon Mesh Modeling

Subdividing
You can subdivide polygon meshes to add more detail where needed. Subdividing Polygons with Smoothing
You can subdivide and smooth selected polygons using Modify > Poly.
Subdividing Polygons and Edges Evenly
Mesh > Local Subdivision from the Model toolbar.
You can subdivide polygons and edges evenly using Modify > Poly.
Mesh > Subdivide Polygons/Edges from the Model toolbar. Select
specific polygons or edges first, or just select a polygon mesh object to
subdivide all polygons.
For polygons, you can choose different subdivision types:

Splitting Edges
Plus Diamond X Triangles
You can split edges interactively using Modify > Poly. Mesh > Split
For edges, you can connect the new points and extend the subdivision Edge Tool from the Model toolbar. Activate this tool then click an edge
to a loop of parallel edges (that is, the opposite edges of quad to split it. Use the middle mouse button to split parallel edges. Press
polygons): Ctrl while clicking to bisect edges evenly.

Other Ways to Subdivide


The Modify > Poly. Mesh menu of the Model toolbar contains many
other tools and commands that can subdivide and add detail to
polygon meshes. For example:

Parallel Edge Loop and Connect both off. Connect on. • Add Vertex Tool
• Split Polygon Tool
• Split Edges (with split control)
• Dice Polygons
• Slice Polygons
Parallel Edge Loop on. Parallel Edge Loop and
Connect both on.

120 • Softimage
Drawing Edges

Drawing Edges
Choose Modify > Poly. Mesh > Add Edge Tool from the Model toolbar Middle-click to continue
to split or cut polygons interactively by drawing new edges. You can use drawing edges from the
this tool to freeform or redraw your object’s flow lines. previous point.

1. Select a polygon mesh object.


2. Choose Modify > Poly. Mesh > Add Edge Tool from the Model
You can also:
toolbar or press \ .
- Press Ctrl while clicking or middle-clicking an edge to bisect it
3. Start a new edge by clicking on an existing edge or point.
evenly.
- Press Shift while clicking or middle-clicking an edge to ensure
that the angle between the new edge and the target edge snaps to
multiples of the Snap Increments - Rotate value set in your
Transform preferences. For example, if Snap Increments - Rotate
is 15, then the new edge will snap at 15 degrees, 30 degrees,
You can also press Alt while clicking to start in the middle of a 45 degrees, and so on. Angles are calculated in screen space.
polygon and automatically connect to the nearest edge by a triangle
- Press Ctrl+Shift while clicking or middle-clicking an edge to
4. If desired, click in the interior of a polygon to add a point. You can attach the new edge at a right angle to the target edge. The angle
repeat this step to add as many interior points as you like, creating a is calculated in object space.
polyline, before terminating it.
- Press Alt while clicking in the middle of the polygon to add a
Click inside a polygon to add an point and connect it to the nearest edge by a triangle.
interior point.
If you are trying to attach a new edge to an existing edge or
vertex, and the target does not become highlighted when you
move the pointer over it, it means that you cannot attach the new
edge at that location because it would create an invalid mesh.
5. Terminate the new edge by clicking or middle-clicking on an existing You cannot attach the
edge or point. edge to this point.

Click to continue drawing edges


from the last point.

6. To continue adding edges starting at a new location, right-click and


then repeat steps 2 to 4.
To exit the Add Edge tool, press Esc or choose a different tool.

Basics • 121
Section 7 • Polygon Mesh Modeling

Extruding Components
You can extrude polygon mesh components to create local details, such If you want to adjust other properties, open the Extrude Op
as indentations or protuberances like limbs and tentacles. You can property editor in the stack.
extrude polygons, edges, or points.
Extruding with Options
To display additional options when extruding, select one or more
components and press Ctrl+Shift+d or choose Modify > Polygon
Mesh > Extrude Along Axis. This lets you control whether adjacent
components are extruded separately or together, as well as specify the
subdivisions, inset, transformations, and other values.

Extruding Along a Curve


Extruding Components
You can get more control over the shape of an extrusion by using a
1. Select one or more components on a polygon mesh, and then press curve. Select one or more components, choose Modify > Polygon
Ctrl+d or choose Edit > Duplicate/Instantiate > Duplicate Single. Mesh > Extrude Along Curve, and then pick the curve.

2. Use the transform tools or the Tweak Component tool to translate, Duplicating Polygons
rotate, and scale the extruded components as desired. Duplicating is similar to extruding, but the polygons are not connected
to the original geometry. This is useful for building repeating forms
like steps or railings. Choose Modify > Polygon Mesh > Duplicate, or
check Duplicate Polygons in the Extrude Op property editor.

122 • Softimage
Removing Polygon Mesh Components

Removing Polygon Mesh Components


There are several different ways to remove polygon mesh components Dissolving Components
using different commands from the Modify > Poly. Mesh menu:
Delete Components, Collapse Components, Dissolve Components, Dissolving removes selected components and then fills in the holes
and Dissolve and Clean Adjacent Vertices. with new polygons.

When components are selected, pressing Delete performs different


actions:
Dissolving selected
• Points and edges are dissolved and adjacent vertices are cleaned. polygons
• Polygons are deleted.

Deleting Polygon Mesh Components


Deleting removes selected components and anything attached to them,
leaving empty holes. Dissolving Components and Cleaning Vertices
Cleaning automatically collapses vertices that are shared by only two
edges after dissolving, but were shared by more before.
Deleting selected Before
point

Selected polygons
will be dissolved.

Collapsing Polygon Mesh Components


Collapsing removes selected components and reattaches the adjacent
ones, creating no new holes. After Vertices shared by two
Dissolving and edges after dissolving are
cleaning vertices collapsed.
Vertices already shared
Collapsing by two edges are not
selected edge collapsed.
Vertices shared by three
or more edges are not
collapsed.

Basics • 123
Section 7 • Polygon Mesh Modeling

Combining Polygon Meshes


You can combine two or more polygon mesh objects into a single new There is a Tolerance parameter for determining the maximum distance
one. Select all the meshes you want to combine, then choose Create > in Softimage units between boundaries for them to be considered
Poly. Mesh > Blend or Merge from the Model toolbar. “nearby”.
The two commands differ in how they treat boundary edges on
different objects when the boundaries are close to each other. Other Ways of Combining Meshes

• With Blend, nearby boundaries on different objects are joined by You can also combine meshes using the Boolean commands on the
new polygons. Create > Poly. Mesh and Modify > Poly. Mesh menus.

• With Merge, nearby boundaries on different objects are merged


into a single edge at the average position.

Original objects

Far boundaries are not joined

Blended object
Near boundaries are joined

Far boundaries are not merged

Merged object
Near boundaries are merged

124 • Softimage
Symmetrizing Polygons

Symmetrizing Polygons
You can model one half of a polygon mesh object and then symmetrize 3. Select the polygons to be symmetrized. You can symmetrize the
it. This creates new polygons that mirror the geometry on the original whole object or just a portion.
side.
1. Model the polygons on one side of the object. In the example Select the desired polygons.
below, an ornamental curlicue was added to the hilt of the dagger.

Model one side of the object.

4. Choose Modify > Poly. Mesh > Symmetrize Polygons from the
Model toolbar.
5. In the Symmetrize Polygon Op property editor, set the parameters
2. Prepare the other side of the object for symmetrization. For as desired, for example, to specify the plane of symmetry.
example, if you intend to merge the symmetrized portions by
welding or bridging, then you may need to create holes for the new
polygons to fit and add vertices to aid the merge.
The finished dagger.

Prepare the other side.

Basics • 125
Section 7 • Polygon Mesh Modeling

Cleaning Up Meshes • When you filter polygons by area, the smallest polygons are
removed. This eliminates small, “noisy” details.
You can filter polygon mesh objects to clean them up. Filtering removes
components that match certain criteria, for example, small Reducing Polygons
components that represent insignificant detail.
The Modify > Poly. Mesh > Polygon Reduction command on the Model
Filtering Edges toolbar lightens a heavy object by reducing the number of polygons,
while still retaining a useful fidelity to the shape of the original high-
Modify > Poly. Mesh > Filter Edges on the Model toolbar removes resolution version. For example, you can use polygon reduction to
edges by collapsing them based on either their length or angle. In both meet maximum polygon counts for game content, or to reduce file size
cases, you can protect boundary edges using Keep Borders Edges Intact. and rendering times by simplifying background objects.
Edge filtering is especially useful for reducing the triangulation on Polygon reduction also allows you to generate several versions of an
polygon meshes generated by Boolean operations. object at different levels of detail (LODs).

Filtering Points Polygon reduction works by collapsing edges into points. Edges are
chosen according to their “energy”, which is a metric based on their
Modify > Poly. Mesh > Filter Points on the Model toolbar welds length, orientation, and other criteria. In addition, you have options to
together vertices that are within a specified distance from each other. control the extent to which certain features, such as quad polygons, are
Among other things, this can be very useful for fixing disconnected preserved by the process.
polygons in “exploded” meshes which can occur when meshes are
exported from some other programs.
• Average position welds each clump of points in the selection
together at their average position.
• Selected point welds each clump of points in the selection together
at the position of the point that is nearest to the average position.
• Unselected point welds each selected point to an unselected point
on the same object.

Filtering Polygons
Modify > Poly. Mesh > Filter Polygons removes polygons based on
their area or their dihedral angles:
• When you filter polygons by angle, adjacent polygons are merged
together if their dihedral angle is less than the threshold you
specify. Small angles correspond to flat areas, so this method
preserves sharp detail.

126 • Softimage
Polygon Normals

Polygon Normals
Shading normals are vectors that are perpendicular to the surface of Controlling User Normals
polygons at each corner. They control how polygon meshes are shaded. If
the normals are averaged across an edge or corner, the shading is Instead of relying on the automatically generated normals, you can
smooth. If they are not averaged, the shading is faceted and the edge is specify custom normals to use for shading. These custom normals are
considered “hard”. called user normals, or explicit normals in some other programs
including 3ds Max. User normals allow you to create things like a box
To display normals on selected objects, click on a view’s Show menu with rounded corners using a minimum number of polygons.
(eye icon) and choose Normals.

On a cube with beveled edges, the interpolation of the automatic normals


In Softimage, polygon meshes can have auto normals or user normals: creates a gradation in the shading across the large, flat sides. To create the
illusion of a box with rounded corners, you can set user normals so that their
• Auto normals are calculated automatically based on a mesh’s interpolation produces the correct shading.
geometry.
There are two main ways to set user normals:
• User normals are custom-defined.
• Activate Modify > Component Tweak User Normals Tool on the
Model toolbar, and then drag normals interactively in the
Controlling Auto Normals viewports.
The best way to control auto normals on a polygon mesh is to apply a • Select points, polygons, and edges and then use the commands on
Geometry Approximation property (from the Get > Property menu) if the Modify > Component > Set User Normals submenu.
there isn’t already one on the object, and turn off Discontinuity:
Automatic. Then, manually mark any edges or vertices you want to be
hard by selecting them and using Modify > Component > Mark Hard
Edge/Vertex on the Model toolbar.

Basics • 127
Section 7 • Polygon Mesh Modeling

Subdivision Surfaces
Subdivision surfaces (sometimes called “subdees”) allow you to create Subdivision Rules
smooth, high-resolution polygon meshes from lower-resolution ones.
They provide the smoothness of NURBS surfaces with the local detail Softimage gives you a choice of several
and texturing capabilities of polygon meshes. subdivision rules (smoothing
algorithms): Catmull-Clark, XSI-Doo-
Sabin, and linear. In addition, you have
Applying Geometry Approximation
the option of using Loop for triangles
You can turn a polygon mesh object into a subdivision surface by when using Catmull-Clark or linear.
pressing + and – on the numeric keypad. This applies a local Geometry
The subdivision rule is set in the Polygon Mesh property editor.
Approximation property if there isn’t already one, and sets the
subdivision level for render and display. The higher the subdivision Catmull-Clark
level, the smoother the object.
The Catmull-Clark Catmull-Clark Subdivision
The original geometry forms a hull that is used to control the shape of subdivision algorithm
the smoothed, “proxy” geometry. You can toggle the display of the hull produces rounder shapes. The
and the subdivision surface on the Show menu (eye icon). generated polygons are all
quadrilateral.
Polymesh hull XSI-Doo-Sabin

Subdivision surface The XSI-Doo-Sabin


subdivision algorithm is a
variation of the standard Doo-Sabin algorithm. It produces more
geometry than Doo-Sabin, but it works better with cluster properties
such as texture UVs, vertex colors, and weight maps, as well as with
creases.

XSI-Doo-Sabin Subdivision

128 • Softimage
Subdivision Surfaces

Linear Subdivision Creases


Linear subdivision does not perform any smoothing, so the object’s Subdivision surfaces typically produce a smooth result because the
shape is unchanged. It is useful when you want an object to deform original vertex positions are averaged during the subdivision process.
smoothly without rounding its contours. However, you can still create sharp spikes and creases in subdivision
surfaces. This is done by adjusting the hardness value of points or edges
on the hull. The harder a component, the more strongly it “pulls” on
Linear Subdivision the resulting subdivision surface.
Use Modify > Component > Mark Hard Edge/Vertex to make
components completely hard, or Set Edge/Vertex Crease Value to apply
an adjustable value.

Loop Subdivision
With the Catmull-Clark and linear subdivision methods, you have the
option of using Loop subdivision for triangles. The Loop method
subdivides triangles into smaller triangles rather instead of into quads,
which gives better results when smoothing and shading.

Catmull-Clark Catmull-Clark Other Methods of Subdividing


with Loop
• You can create a new object that is a smoother, denser version of an
existing one using Create > Poly. Mesh > Subdivision from the Model
toolbar.
• You can create a new object that is a smoother, denser version based
on the Geometry Approximation settings of an existing object
using Edit > Duplicate/Instantiate > Duplicate Using Geometry
Approx.

Basics • 129
Section 7 • Polygon Mesh Modeling

130 • Softimage
Section 8

NURBS Surface
Modeling
NURBS surfaces are one of the basic types of
renderable geometry in Softimage. They are
rectangular patches that allow for very smooth shapes
with relatively few control points. Surfaces can model
precise shapes using less geometry than polygon
meshes and they’re ideal for smooth, manufactured
objects like car and aeroplane bodies.

What you’ll find in this section ...


• About Surfaces
• Building Surfaces
• Modifying Surfaces
• Projecting and Trimming with Curves
• Surface Meshes

Basics • 131
Section 8 • NURBS Surface Modeling

About Surfaces
In Softimage, surfaces are NURBS patches. Mathematically, they are an • Knot curves (sometimes called isoparams or isoparms) are sets of
interconnected patchwork of smaller surfaces defined by intersecting connected knots along U or V—they are the “wires” shown in
NURBS curves. wireframe views. You can select knot curves and use them, for
example, to build other surfaces using the Loft operator.
Components of Surfaces
You can display surface components and attributes in the 3D views, as
well as select them for various tasks. Knots lie
• Points are the control points of the curves that define the surface. on the surface.
Their positions define the shape of the surface.
Knot curves
connect knots.

Points define
and control the
surface. • Isolines are not true components. They are, in fact, arbitrary lines
You can display
of constant U or V on a surface. You can use the U and V Isoline
lines between selection filter to help you pick isolines for lofting and other
points. operations.

• NURBS hulls are display lines that join consecutive control points.
It can be useful to display them when working with curves and
surfaces.
• Surface knots are the knots of the curves that define the surface;
they lie on the surface where the U and V curve segments meet.

Isolines are arbitrary lines


on the surface in U or V.

132 • Softimage
Building Surfaces

Building Surfaces
The commands on the Create > Surf. Mesh menu can be used to build Merging Surfaces
NURBS surfaces in a variety of ways. The first set of commands
generate surfaces from curves—see Objects from Curves on page 90 for Merging two surfaces creates a third surface that spans the originals.
an overview of the basic procedure. Here are a few examples of some of You have the option of also selecting an intermediary curve for the
the other ways you can build surfaces. merged surface to pass through.

Blending Surfaces
Blending creates a new surface that fills the gap between the selected
boundaries on two other surfaces.

Input surfaces Single merged surface

Filleting Intersections
A fillet is a surface that smooths the intersection of two others, like a
molding between a wall and a ceiling.
Input surfaces Resulting blend

Input surfaces Resulting fillet Shaded view

Basics • 133
Section 8 • NURBS Surface Modeling

Modifying Surfaces
You can modify surfaces in a variety of ways using the commands in Opening and Closing Surfaces
the Modify > Surface menu of the Model toolbar, for instance, by
adding and removing knot curves. Here are a few examples of some You can open a closed surface and close an open surface. A surface can
other ways of modifying surfaces. be open in both U and V like a grid, closed in both like a torus, or open
in one and closed in the other like a tube.
Inverting Normals
If the normals of a surface are pointing in the wrong direction, you can
invert them.
Open Closed

Inverting a surface

Extending Surfaces
You can extend a surface from the selected boundary to a curve.

134 • Softimage
Projecting and Trimming with Curves

Projecting and Trimming with Curves


You can project curves onto surfaces and then use the result to remove Trim Curves
a portion of the surface, or for any other modeling purpose. This is
If you use the curve to remove part of the surface, it is called a trim
useful for modeling manufactured objects like car parts with holes or
curve.
for creating smooth surfaces that aren’t four-sided like a standard
NURBS patch.

What Are Surface and Trim Curves?


Both surface and trim curves involve projecting a curve object onto a
NURBS surface. The difference is whether the result is used to remove
a portion of the surface or not.

Surface Curves Trim curve


If the curve object is just projected and nothing more, the result is
called a surface curve. It is a new component of the surface. This surface Trimming affects the visible portion of the surface. All the underlying
curve can be used like any other curve component of the surface points are still there and you can still affect the surface’s shape by
(isoline, knot curve, and so on) for modeling operations like Loft, moving points in the trimmed area.
Extend to Curve, and others.
Projecting or Trimming by Curves
Curve object Select a NURBS surface object, choose Modify > Surface > Trim by
Projection from the Model toolbar, and then pick a curve object. The
curves are projected onto the surface and, by default, the surface is
NURBS surface trimmed using all projected curves.
In the Trim Surface by Space Curve property editor, do any of the
Surface curve following:
• To trim the surface using only some of the projected curves, click
Pick Trims and then pick the desired surface curves. Right-click
when you have finished picking.
• To trim the surface using all the projected curves, click Trim with
All.
• To project the curve onto the surface, click Project All.

Basics • 135
Section 8 • NURBS Surface Modeling

• Use Is Boundary to choose whether to trim the inside or the Surface Meshes
outside.
Surface meshes provide a way to assemble multiple surfaces into a
• Use Projection Precision to control the precision used to calculate single object that remains seamless under animation and deformation.
the projection. If the shape of the projected curve is not accurate,
increase this value. However, high values take longer to calculate 1. Create a collection of separate surfaces. These will become the
and may slow down your computer. For best performance, set this surface mesh’s subsurfaces.
parameter to the lowest value that gives good results.
Line the surfaces up into a
basic configuration.
Deleting Trims
This illustration shows a
Deleting a trim allows you to remove a trim operation even after you common configuration for a
have frozen the surface’s operator stack. Set the selection filter to Trim leg or arm.
Curve, select one or more trim curves on the surface, and choose
Modify > Surface > Delete Trim from the Model toolbar.

2. Optionally, line up pairs of boundaries by selecting them and


choosing Create > Surf Mesh > Snap Boundary from the Model
toolbar.

Snap opposite
boundaries together to
connect the surfaces
across the junction.

136 • Softimage
Surface Meshes

3. Select all the surfaces and choose Create > Surf Mesh > Assemble. Excluding Points from Continuity Managements
The surfaces are assembled into a single surface mesh. The
continuity manager ensures that the continuity is preserved at the All assembled surface meshes have a special cluster called
seams. NonFixingPointsCluster. If a point on a subsurface boundary is in this
cluster, its continuity is not managed by SCM when Don’t Fix the
Tagged Points is on. The other points on the same junction are not
affected. This lets you create holes in the surface mesh for mouths, eyes,
and so on.

Notice how the assembled


surface mesh blends smoothly
across the junctions.

4. You can now deform and animate the surface mesh as desired.

If you ever freeze the assembled surface, you will need to


reapply the surface continuity manager manually using
Create > Surf Mesh > Continuity Manager.

Basics • 137
Section 8 • NURBS Surface Modeling

138 • Softimage
Section 9

Animation
To animate means to make things come alive, and
life is always signified by change: growth,
movement, dynamism. In Softimage, everything can
be animated, and animation is the process of
changing things over time. For example, you can
make a cat leap on a chair, a camera pan across a
scene, a chameleon change color, or a face change
shape.

What you’ll find in this section ...


• Animating with Keys
• Animating Transformations
• Playing the Animation
• Editing Keys and Function Curves
• Layering Animation
• Constraints
• Path Animation
• Linking Parameters
• Expressions
• Copying Animation
• Scaling and Offsetting Animation
• Plotting (Baking) Animation
• Removing Animation

Basics • 139
Section 9 • Animation

Bringing It to Life
The animation tools in Softimage let you create animation quickly so What Can You Animate in Softimage?
that you can spend your time editing movements, changing the timing,
and trying out different techniques for perfecting the job. Softimage You can animate every scene element and most of their parameters—in
gives you the control and quick feedback you need to produce great effect, if a parameter exists on a property page, it can probably be
animation. Basically, if you want to make something move, Softimage animated.
has the tools. • Motion: Probably the most common form of animation, this
involves transforming an object by either moving (translating),
rotating, or scaling (resizing) it. Special character tools let you
easily animate humans, animals, and all manner of fantastical
creatures. You can also use dynamic simulations to create
movement according to the physical forces of nature.
• Geometry: You can animate an object’s geometry by changing
values such as U and V subdivision, radius, length, or scale. You
can also use numerous deformation tools and skeletons to bend,
twist, and contort your object.
• Appearance: Material, textures, visibility, lighting, and
transparency are just some of the parameters controlling
appearance that can be changed over time.

The Highs and Lows of Animation


One of the most important features of Softimage is its high and low-
level approach to animation:
Low-level animation means getting down to the parameters of an
object and animating their values. Keyframing is the most common
method of direct animation, but you can also use path animation,
constraints, linked parameters, expressions, and scripted operators for
creating animation control relationships.
High-level animation means that you are working with animation in a
Motion, geometry deformations, and appearances can way that is nonlinear (the animation is independent of the timeline)
all be animated in Softimage.
and non-destructive (any modifications do not destroy your original
animation data).

140 • Softimage
Bringing It to Life

You store animation or shapes in sources, then use the animation mixer So Many Choices ...
to edit, mix, and reuse those sources as clips.
Softimage provides you with many choices of tools and techniques for
To use these levels together, you can animate at a low level by animating: explore and decide which tool lets you animate in the most
keyframing a specific parameter, then store that animation and others effective way. In most projects you have, you will probably use a
into action sources and mix them together in the animation mixer to combination of a number of these tools together to get the best results.
animate at a high level. This allows you to easily manage complex
animation yet retain the ability to work at the most granular level. • The most basic method of animation is keying. You set parameter
values at specific frames, and then set keys for these values. The
values for the frames between the keys are calculated by
interpolation.

• Create animation relationships between objects at the lowest


(parameter) level. These include constraints, path animation,
linked parameters, expressions, and scripted operators.

Keyframed (low-level) animation can be contained in action


sources, then brought into the animation mixer as a clip (high level).

Basics • 141
Section 9 • Animation

• Character animation tools offer you control for creating and • Dynamic simulations let you create realistic motion with natural
animating skeletons. You can animate them with forward or inverse forces acting on rigid bodies, soft bodies, cloth, hair, and particles
kinematics, apply mocap data, add an enveloping model, set up a (done with ICE). With simulations, you can create animation that
rig, and fine-tune the skeleton’s movements in a myriad of ways to could be difficult or time-consuming to achieve with other
get just the right motion. animation techniques.

Animation and Models


• The animation mixer is a powerful editing tool that is nonlinear
and non-destructive. Any type of animation that you generate can Models in Softimage are data containers (like mini scenes) that make it
be stored and reused later, on the same model or a different one. easy to organize elements that need to be kept together, such as all the
You can also mix different types of animation together and weight parts that make up a character.
them against each other. The main reason for using models for
• Shape animation lets you can change the geometry of an object animation is that they provide the easiest
over time. To do this, you deform the object into different shapes way to import and export animated
using any type of deformation tool, then store shape keys for each objects between scenes, and to copy
pose that you want to animate. animation between objects.
Models also make it easy to use the
animation mixer. Each model can have
only one Mixer node that contains mixer
and animation data. This means that if
you have many objects in a scene that use
the mixer and each is within a model,
you can copy animation from one object
to another.

142 • Softimage
Playing the Animation

Playing the Animation


The first thing you need to do before starting an animation is to set up Selecting a Viewport for Playback
your frame rate and format to match the medium in which you will be
saving the final animation. In animation, the smallest unit of time is To optimize playback speed, you can specify a single viewport for
the amount required to display a single frame. The speed at which playback (viewport B by default). When the playback is over, the other
frames are displayed, or the frame rate, is always determined by how the viewports are updated to the current frame. If you scrub in the
final animation will be viewed. If you are compositing your animation timeline, however, all viewports are updated at each frame.
with other film or video footage, it’s usually best for the animation to To select a viewport for this, choose All Views, Active View, or a
be at the same frame rate as the footage. specific viewport (A, B, C, or D) from the Playback > Playback View
When you change the timing of the animation, you change the way that menu. You can also set it as a preference in the Interaction Preferences.
the actions look. This means that the timing that looked correct while
you were previewing it in Softimage may not look as good on video or
film. For example, an action that spans 24 frames would take one
second on film; changing the frame rate to suit North American video
at 30 fps would cause the same 24 frames to span 0.8 seconds.

Setting up the timing for your


animation is the first thing you should
do before you start. You can set the
frame rate and frame format in the
Output Format preferences.
These settings affect many areas of
Softimage, including the timeline and
playback controls.

You can set up the default frame format and frame rate preferences for
your scene using the options in the Output Format preferences
property editor (choose File > Preferences). These settings propagate to
many other parts of Softimage that depend on timing. Regardless of
whether you enter time code or a frame number as the frame format,
Softimage internally converts your entry into time code.

Basics • 143
Section 9 • Animation

Using the Timeline and the Playback Controls


A big part of the animation process is the constant tweaking and
replaying of the animation to see that you get things right. There are Playback menu displays many playback options, such as
different ways of playing back animation in the viewports, but the most for setting preferences, opening the flipbook, setting
common way is by dragging the playback cursor in the timeline and real-time play rates, and setting the current viewport.
using the playback controls below the timeline. Increment Backward/Forward moves the currently
Before you start playing back the animation, you should set up the time displayed frame backward/forward by predefined
range, the time display format, and the timeline’s start and end frames. increments (default is 1).
These define the range of frames in which you can play in the scene.
Start/First Frame displays (resets) the first frame at the
beginning of the timeline.
Timeline
End/Last Frame displays the last frame at the end of the
timeline.
Play Backward plays/stops the animation or simulation
Time range in the backward direction (to the left on timeline). Click
this icon to play from the last frame on the timeline;
click it again to stop playback; middle-click to play from
• The time range determines the global range of frames, and the the current frame.
range slider in it lets you play back a smaller range of frames within
the global range. If you are working with an animation sequence Note that you can only play simulations backwards if
that is very long, you can focus on just a subsection of frames you have cached them.
which you can easily change and move along the timeline. You can Play Forward plays/stops the animation or simulation
set the global length by entering frame numbers in the boxes at in the forward direction (to the right on timeline). Click
either end of the time range. this icon to play from the first frame on the timeline;
• The timeline displays which frames can be played, which is linked click it again to stop playback; middle-click it to play
to the range slider. The current frame of the animation is indicated from the current frame.
by the playback cursor (the vertical red bar), which you can drag to Loop repeats the animation or simulation in a
different frames. You can set the scene’s length by entering frame continuous loop.
numbers in the boxes at either end of the timeline.
Audio toggles sound on/off during playback. It is on by
• The controls in the Playback panel below the timeline allow you to
default. When the audio is off (muted), the icon appears
view and play animations, simulations, and audio in different ways.
highlighted.
All/RT toggles between playing back frame by frame
(All) or in real time (RT).

144 • Softimage
Previewing Animation

Previewing Animation
You can capture and cache images from an animation sequence and Ghosting
play them back in a flipbook to help you see the animation in real time.
Animation ghosting, also known as onion-skinning, lets you display a
Anything that is shown in the viewport you choose is captured—
series of snapshots of animated objects at frames or keyframes behind
render region, rotoscoped scene with background, or any display mode
and/or ahead of the current frame. This lets you visualize an object’s
(wireframe, textured, shaded, etc.). For example, you may want to set
motion, helping you improve its timing and flow. You can display an
the display mode to Hidden Line Removal for a “pencil test” effect.
object’s geometry, points, centers, trails, and velocity vectors as ghosts.
You can include audio files to play back with the flipbook, especially
Ghosting works for any object that moves in 3D space, either by having
useful for lip synching. You can also export flipbooks in a variety of
its transformation parameters (scaling, rotation, and translation)
standard formats, such as AVI and QuickTime.
animated in any way, or by having its geometry changed by shape
Creating a Flipbook animation or deformations (including envelopes), or with simulated
rigid bodies, soft bodies, or cloth.
1. In the viewport whose images you want to capture, set the
display options as you like. Then click the camera icon in that Ghosting is set per object by selecting the Ghosting option in the
viewport and choose Start Capture. object’s Visibility property editor. Once this is done, you can set
ghosting per scene layer or per group, in their respective property
2. In the Capture Viewport dialog box, set the options for the editors.
flipbook’s file name, image size, format, sequence, padding, and
frame rate. To see ghosting in a 3D view, such as a viewport, choose the Animation
Ghosting command in the Display Mode menu of a 3D view, then set
3. View the flipbook in the Softimage flipbook or in the native media up the ghost display options in the Camera Display property editor.
player on your computer. You can open the Softimage flipbook by
choosing Flipbook from the Playback menu.

Basics • 145
Section 9 • Animation

Animating with Keys When you set keys on a parameter’s value, a function curve (or fcurve)
is created. An fcurve is a graph that represents the changes of a
Keyframing (or “keying”) is the process of animating values over time. parameter’s values over time, as well as how the interpolation between
In traditional animation, an animator draws the extreme (or critical) the keys occurs. When you edit an fcurve, you change the animation.
poses at the appropriate frames (key frames), thus creating “snapshots”
of movement at specific moments. Methods of Keying
As in traditional animation, a keyframe in Softimage is also a There are a number of ways in which you can set keys in Softimage
“snapshot” of one or more values at a given frame, but unlike depending on what type of workflow you’re used to and the tools you
traditional animation, Softimage handles the in-betweening for you, want or need to use for your production. Any way you choose, each
computing the intermediate values between keyframes by method results in keyframes being created.
interpolation.
There are three main keying workflows from which to choose:
• Keyable parameters on the keying panel.
• Character key sets
• Marked parameters (and marking sets)

Always Set the Keying Preference First!

Keys set at frames 1, 50, and 100. Intermediate frames Before you start setting keys, you need to set a preference that
are interpolated automatically. determines the way in which you key: with keyable parameters, with
character key sets, or with marked parameters.
This preference determines which parameters are keyed when you save
a key by pressing K, by clicking the keyframe icon in the Animation
You can set keys for just about anything in Softimage that has a value: panel, or by choosing the Save Key command from the Animation
this includes an object’s transformation, geometry, colors, textures, menu.
lighting, and visibility. To set the preference, click the Save Key preference button in the
You can set keys for any animatable parameter in any order and at any Animation panel, then select an option from the menu.
time. When you add a new key, Softimage recalculates the
interpolation between the previous and next keys. If you set a key for a
parameter at a frame that already has a key set for that parameter, the
new key overwrites the old one.

146 • Softimage
Animating with Keys

Keying Parameters in the Keying Panel


Using the keying panel (click the KP/L tab on the main command
panel), you can quickly and easily change values and set keys for
specific parameters of a selected object. The parameters that are 1
2
displayed in the keying panel are called keyable parameters.
If you’re using the Maya interaction model, Softimage is automatically
set up to work in this manner.
Once you have set up the object’s keying panel with the keyable 3
parameters you want, you simply select that object and press K or click
the keyframe icon to set a key on whatever is in its keying panel.

Overview of Using the Keying Panel

1 Set the Save Key preference to Key All Keyable.


2 Select an object and open the keying panel (click the KP/L
tab).
4
3 If you need to add other keyable parameters to the keying
panel, select them in the keyable parameters editor.
4 Go to a frame where you want to set a key.
6 5
5 Change the values for the selected object’s keyable parameters.
6 Set a key for the keyable parameters.

Basics • 147
Section 9 • Animation

Keying with Character Key Sets


Character key sets are sets of keyable parameters that you create for an
object or hierarchy for quick and easy keying. Once you have created 1
key sets, you don’t need to select an object first to key its parameters—
just press K or click the keyframe icon and whatever is in the current
character key set is keyed.
If you’re transferring from another 3D software, you may prefer this
method of working.
Character key sets let you keep the same set of parameters available for
2
any object or hierarchy for easy keying, such as only the rotation
parameters for the upper body control in a rig.

Overview of Using Character Key Sets


3
1 Create a character key set that includes the parameters you 4
want to key on an object.
2 Set the current character key set. If you just created a character
key set, it is set as the current one. 5
3 Set the Save Key preference to Key Character Key Set.
4 Go to a frame where you want to set a key. 6

5 Change the values for the parameters in the set.


6 Set a key for the parameters in the current character key set.

148 • Softimage
Animating with Keys

Keying Marked Parameters


Marking parameters is a way of identifying which parameters you want Overview of Marking Parameters
to use for a specific animation task, such as keying. By keying only the
marked parameters, you can keep the animation information small 1 Set the Save Key preference to Key Marked Parameters.
and specific to the selected object.
2 Select the object you want to animate and go to the frame at
which you want to set a key.
1 2 3 Mark the parameters you want to key.
You can mark parameters by clicking them in the marked
parameter list (in the lower-right of the interface), a property
editor, the explorer, or the keying panel. Marked parameters
are highlighted in yellow.
3
Transformation parameters are automatically marked when
you activate a transformation tool.
4
4 Set the marked parameter values for the selected object.
5 Set a key for the marked parameters at this frame.

Keying with Marking Sets


You can also create marking sets,
which are similar to character key sets.
You can have only one marking set per
5 object at a time. Marking sets make it
easy to key in hierarchies because each
object within that structure can have its own marking set, such as a
marking set of rotation parameters for bones, or a marking set of
translation parameters for IK effectors.
• To create a marking set, select an object and mark the parameters
you want to keep in the set. Then press Ctrl+Shift+M.
• To key marking sets, select one or more objects with a marking set.
Then press Ctrl+M to activate the marking set, then set a key by
pressing K. Press Alt+K to set a branch key, which is useful for
working with characters and other hierarchies.

Basics • 149
Section 9 • Animation

Setting Keys on Individual Parameters


In addition to the three main keying workflows, you can also set keys
Click the keyframe icon to set keys on, or remove keys from, all or
directly on individual parameters in these different ways. These A
only marked parameters on the property page.
methods don’t need to consider the keying preference that you have
selected. Click the animation icon to set keys on, or remove keys from, only
B that parameter. You can also right-click it and choose Set Key or
Remove Key from the menu.
A
In an explorer, right-click a parameter’s animation icon and choose
C
Set Key or Remove Key from the menu.

Click the autokey button to automatically set a key each time you
D
change a parameter’s values.

Choose Animation > Set Keys at Multiple Frames to set keys for the
parameters’ current values at the multiple frames that you enter. This
E
is handy for setting up basic keyframes for pose-to-pose type
animation.
B

D
C

150 • Softimage
Animating Transformations

Animating Transformations
Animating the transformations (scaling, rotation, and translation) of Animating Local or Global Transformations
objects is something that you will be doing frequently. It is one of the
most fundamental things to animate in Softimage. You can animate objects either in terms of their parents (local
animation) or in terms of the scene’s world origin (global animation).
You can find transformation parameters in the object’s Kinematics
node in the explorer. Kinematics in this case refers to “movement,” not It’s usually better to animate the local transformations because you
to inverse or forward kinematics as is used in skeleton animation. usually animate relative to the object’s parent instead of animating
relative to the world origin. Animating locally lets you branch-select an
object’s parent and move it while all objects in the hierarchy keep their
relative positions to the parent.
If you animate both the local and the global transformations, the global
animation takes precedence.

A B Manipulation Modes versus Transformation Values


When you transform an object
interactively in a 3D view, you use one of
several modes that determine which
coordinate system to use for
manipulation. The manipulation mode
affects the interaction only, the resulting
C values of which you see in the Transform
panel.
This is important to know, particularly
for understanding the Local
manipulation mode: the values shown in
Within the Kinematics node are the Global Transform and Local the Transform panel while using a
A
Transform nodes, referring to the type of transformation. transformation tool may not be the same
Within each of the Transform nodes, there are the Pos (position, also as the local transform values that are
B called translation), Ori (orientation, also called rotation), and Scl Manipulation modes for stored for the object: that is, the values
(scale) folders. current transformation (in
that you animate.
this case, translation).
Each of the Pos, Ori, and Scl folders contain the X, Y, and Z So, how do you manipulate an object so
C
parameters corresponding to each axis. that the values on the Transform panel
are the same as the stored values for local
animation? You rotate in Add mode or

Basics • 151
Section 9 • Animation

translate in Par mode. These are the only two manipulation modes that Remembering Transformation Tools for an Object
transform in the same way as local animation: they are both relative to
the object’s parent. When you’re manipulating or animating an object, you often use the
same transformation tool for it, such as always using the Rotate tool for
Of course, you can always set and animate the values as you like bones in a skeleton. You can create a transform setup property (choose
directly in the object’s Local Transform or Global Transform property Get > Property > Transform Setup) for an object so that the same
editor. transformation tool is automatically activated when you select that
object.
Marking Transformation Parameters
This is very useful for working quickly with
When you activate any of the transformation tools, all three of their control objects in a character rig—for
corresponding local transformation parameters (X, Y, Z) are example, when you select the head’s
automatically marked. effector, the Translate tool is automatically
activated.
For example, when you rotate in Local mode, all three rotation axes are
marked automatically, even if only one rotation axis is selected.

To have only specific axes X, Y, or Z marked, you can rotate in Add


mode or translate in Par mode.
Or you can choose Transform > Automark Active Transform Axes:
then when you click a transformation’s specific axis button (such as the
Rotation’s Y button) on the Transform panel, only that axis is marked,
regardless of the current manipulation mode.

152 • Softimage
Animating Transformations

Animating Transformations in Hierarchies Animating Rotations


Transformations are propagated down through hierarchies so that each When you animate rotations in Softimage, you normally use three
object’s local position is stored relative to its parent. Objects in separate function curves that are connected to the X, Y, and Z rotation
hierarchies behave differently when they are transformed, depending parameters. These three rotation parameters are called Euler angles.
on whether the objects are node-selected (left-click) or branch-selected Euler interpolation works well when the axis of interpolation coincides
(middle-click). By default: with one of the XYZ rotation axes, but is not as good at interpolating
arbitrary orientations. Euler angles can also suffer from gimbal lock,
• When you branch-select a parent object and animate its
which is the phenomenon of two rotational axes aligning with each
transformation, the animation is propagated to its children.
other so that they both point in the same direction.
• When you node-select a parent and animate its transformation, its
To solve this, you can change the order in which the rotation axes are
children are not transformed unless their respective local
evaluated (by default, it’s XYZ), which changes where the gimbal lock
transformations are animated. For example, suppose the child’s
occurs. As well, you can convert Euler fcurves to quaternion.
local translation is animated but its rotation isn’t: if you translate
the parent, the child follows; however if you rotate the parent, the Quaternion interpolation provide smooth interpolation with any
child stays put. sequence of rotations. The XYZ angles are treated as a single unit to
determine an object’s orientation, so they are not restricted to a
This is because animation on the local transformations is stored
particular order of rotation axes. Quaternions interpolate the shortest
relative to the parent’s center. You can make unanimated children
path between two rotations. You can create quaternion fcurves by
follow the parent with the Child Transform Compensation
setting quaternion keys directly, or by converting Euler fcurves to
command (or ChldComp button) on the Constrain panel.
quaternion using the Animation > Convert commands in the
• When you animate a child object, its animation is always done Animation panel. And you can always convert back to Euler fcurves in
relative to its parent (local animation). the same way.
• When you animate anything in global, it’s always done in relation Cone is rotated on 90 degrees in X and Y.
to the world origin: it does not matter if your objects are in a
hierarchy or not. Nothing is inherited if you have global
transformation keys because they override any parent-to-child
inheritance.

Skeleton chains are an exception to these hierarchy animation


rules because the end location of one chain element always
determines the start location of the next one in the chain.

Euler interpolation of the rotation Quaternion interpolation of


values. the rotation values.

Basics • 153
Section 9 • Animation

Editing Keys and Function Curves


After you have set keys to animate a parameter’s value, you can edit the
keys and the function curve (or fcurve) to edit the animation. An fcurve
A
is a graph that represents the changes of a parameter’s values over time,
as well as how the interpolation between the keys occurs.
Softimage has several tools that help you edit keys and function curves:
B
• Editing keys in the timeline is the easiest and most direct method C
for working with keys.
• The dopesheet lets you work with keys as well, but with tools and in D
a larger view—great for working at the scene level when you’re
offsetting and scaling animation.
• The fcurve editor is the most sophisticated view that gives you the
E
best tools for making the fcurves exactly as you want them.

Editing Keys in the Timeline


You can view and edit keys in the timeline similar to how you do in the
dopesheet. The advantage of doing this in the timeline, of course, is A Keys are displayed as red lines in the timeline.
that you don’t need to open up a separate window for the dopesheet:
Right-click in the timeline to open a menu of options for displaying
the keys are right there. This lets you keep the object that you’re B
and editing the keys.
animating in full view at all times.
Press Shift+drag to draw a region, then drag it to a new area on the
Once you have selected an animated object, you can easily move its timeline.
keys, cut or copy and paste its keys, and scale a region of keys, all within C
Press Ctrl while dragging to copy the keys, or choose Copy and Paste
the timeline. This is especially useful for blocking out rough from the right-click menu.
animations before you do more detailed editing. You can also select
single keys and move, cut, copy, and paste them. Press Shift+click to select a single key, then you can move it, or cut/
D
copy, and paste it.

You can scale a region by dragging either of its ends in the


E
appropriate direction.

154 • Softimage
Editing Keys and Function Curves

Editing Keys in the Dopesheet


The dopesheet provides you with a way of viewing and editing key You can modify your animation sequences by editing regions of keys
animation. Similar to a cel animator’s dopesheet, it shows your entire on the tracks with standard operations such as moving, scaling,
animated sequence, frame by frame. copying, cutting, and pasting. You can delete them, shift them left and
right, scale them—all with or without a ripple. Summary tracks help
Because you can see your whole animation in the dopesheet, it makes
you see the animation for the whole scene or just the selected objects.
an ideal tool for editing overall motion and timing. For example, if you
wanted to change a 100-frame sequence to 200 frames, you would To open a dopesheet, you can open the animation editor (press 0
simply stretch (scale) the animation segment on the track to be 200 [zero]), then choose Editor > Dopesheet from its command bar. Or
frames long. choose it in a viewport, like any other view.

D E

Regions (press Q) let you edit multiple keys, including moving them,
The Explorer, Lock, and Update buttons apply only to the animation E
A scaling them, copying and pasting them, and deactivating animation.
explorer (4).

Timeline. Click and drag the red playback cursor in it to “scrub” The keys represent the keyframes of the selected parameter’s
B F animation. Each colored block is one frame long. You can edit (move,
through the animation.
copy, paste) individual keys on tracks.
Summary tracks display keys for all objects in the scene or all objects
C The tracks display and let you manipulate the animation keys. You
currently displayed in the dopesheet. G
can expand and collapse tracks to view exactly what you want.
Animation explorer displays the parameters of objects that you
D
select.

Basics • 155
Section 9 • Animation

Editing Function Curves


When you set keyframes to animate a parameter, a function curve, or The graph in the fcurve editor is where you manipulate the fcurve: time
fcurve, is created. An fcurve is a representation of the animated is shown along the graph’s X axis (horizontal), while the parameter’s
parameter’s values over time. You can edit fcurves in the fcurve editor, value is plotted along the graph’s Y axis (vertical).
which lives in the animation editor and is its default editor. You can
The shape of the fcurve shows how the parameter’s value changes over
also display the dopesheet, expression editor, and scripted operator
time. On the fcurve, keyframes are represented by key points (also
editor in the animation editor.
referred to as keys) and the interpolation between them is represented
The fcurve editor is an ideal tool to help you control the animation’s by segments of the curve linking the key points. You can change the
speed and interpolation, as well as easily adding and deleting keys. interpolation for a segment or for the whole fcurve.
Press the 0 (zero) key to open the animation editor in a floating The slope of the curve between keys determines the rate of change in
window, or you can open it in any viewport. If you open it with an the animation, while the handles at each key let you define the fcurve’s
object already selected, its fcurves automatically appear in the fcurve slope in the same way that control points define Bézier curves.
editor.

E
B
C

F
G

156 • Softimage
Editing Keys and Function Curves

Editing a Function Curve’s Slope


Command bar contains menu commands and icons to edit fcurves in
A
many different ways. The fcurve’s slope determines the rate of change in the animation. By
modifying the slope, you change the acceleration or deceleration in or
Animation explorer displays the parameters of objects that you
B out from a key, making the animation change rapidly or slowly, or even
select.
reversing it.
C Values for the parameter are shown on the graph’s Y (vertical) axis.
You can change the slope of any fcurve that uses spline interpolation by
Timeline. Time is shown on the graph’s X (horizontal) axis. Click and using the two handles (called slope handles) that extend out from a key.
D
drag the red playback cursor in it to “scrub” through the animation.
By modifying the handles’ length and direction, you can define the way
Selected fcurves are white. When not selected, the curves for X, Y, the curve moves into and out from each key. You can change the length
E and Z parameters are red, green, and blue, respectively. You can also and angle of each handle in unison or individually.
change the color of any fcurve you like.
The slope handles are tangent to the curve at their key when Unified
The keys on the fcurves represent the keyframes of the selected Slope Orientation is on. (A) This keeps the acceleration and
parameter’s animation. You must select an fcurve before you can
F deceleration smooth, but you can also turn off this option to “break”
select its keys. Selected keys are red with slope handles. Unselected
keys match the color of their fcurve. the slope at a certain point. (B) This creates a sudden animation
acceleration or deceleration, or change of direction altogether.
The slope handles (tangents) at each key indicate the rate at which
G an fcurve’s value changes at that key. These handles only appear on
keys on fcurves that have spline interpolation.
A
Types of interpolation:
• By default, fcurves use spline interpolation to calculate intermediate
values. The curves ease into and ease out of each key, resulting in a
smooth transition.
H • Linear interpolation connects keys by straight line segments. This
creates a constant speed with sudden changes at each key.
• Constant interpolation repeats the value of a key until the next one.
The creates sudden changes at keys and static positions between
keys, such as for animating a cut from one camera to another.

Basics • 157
Section 9 • Animation

Ways of Editing Function Curves and Keys


When you select one or more fcurves, any modifications you perform
Move fcurves and keys in X (horizontally) to change the time or in Y
are done only to them. You can select keys on the selected fcurves to A
(vertically) to change the values.
edit only them, including regions of keys on fcurves.
B Add or delete keys on an fcurve.

Create regions (press Q) of keys for editing.


C Drag the region up or down to move the keys, or drag the region’s
A
handles to scale.

Copy and paste an fcurve and keys. You can also set paste options to
D control how keys are pasted—whether they replace the selection or
are added to it.
C
B Scale fcurves or regions of keys. When you shorten the length, you
E speed up the animation; increasing the length slows it down. Scaling
vertically changes the values.

Cycle the fcurves for repetitive motions. You can create basic cycles,
F or you can have relative cycles that are progressively offset, such as
when creating a walk cycle.

158 • Softimage
Layering Animation

Layering Animation
Animation layering allows you to have one or more levels of animation
1 2
on top of an object’s parameters base animation at the same time. You
usually want to layer animation when you need to add an offset to the
base animation on an object, but you don’t want to change the original 3
animation, such as with mocap data. You can only add keys in the
layers, and the existing base animation must be either action clips or
fcurves.
Animation layers are non-destructive, meaning that they don’t alter
your base animation in any way: the keys in the layers always remain as
a separate entity. Layering allows you to experiment with different 4
effects on your animations and build several variations, each in its own
layer.
5
For example, let’s say that you’ve imported a mocap action clip of a
character running down the flight of stairs. However, in your current
scene, the stairs are shallower than those used for the mocap session, so
the character steps “through” the stairs instead of on them.
To fix this problem, you create an animation layer, offset the contact
points for the character’s feet so that they step on the stair, then set
keys. The result is an offset animation that sits on top of the mocap
data: you don’t need to touch the original mocap clip at all. You can
then easily edit the fcurves for the animation layer, tweaking it as you
like.
Animation layers are actually controlled and managed in the animation
mixer, but you don’t need to access the mixer for creating and setting 6
keys in layers. You can use the Animation Layers panel (click the KP/L
tab on the main command panel) to do this. However, you may want to
use the animation mixer for added control over each layer, such as for
setting each layer’s weight.

Basics • 159
Section 9 • Animation

Overview of Layering Animation Constraints


There are different ways in which you can work with animation layers Constraining is a way of increasing the speed and efficiency in which
in Softimage, but here’s a simple overview just to get you started. you animate. It lets you animate one object “via” another one’s
animation. You can constrain different properties, such as position or
1 Make sure the objects are in a model structure. direction, of one object to that of an animated object. Then when the
animated object moves, the constrained object follows in the same way.
2 Animate the objects. This animation is the base layer. You
cannot create animation layers without first having a base
layer. Radar dish constrained by
direction to the plane
3 Create an animation layer in the Animation Layer panel. The X axis of the radar dish
continually points in the direction
4 Select the animated objects, change their values, and set keys of the plane’s center.
for them in the layer you created.
5 Edit the layer’s fcurves.
6 Collapse the layer to combine its animation with the base layer
of animation.

There are a number of types of constraints in Softimage:


• Constraining transformations: in position, orientation, direction,
scaling, pose (all transformation), and symmetry.
• Constraining in space: by distance, or between 2, 3, or any number
of points.
• Constraining to objects: to clusters, surfaces and curves, bounding
volumes, and bounding planes.
For many of the constraints, you can add a tangency or up-vector
directions to the mix. The tangency and up-vector constraints are
properties of several constraint types that determine the direction in
which the constrained object should point. For example, if you apply a
Direction constraint to an object, you can also add an up-vector (Y
axis) to control the “roll” of the direction-constrained object.

160 • Softimage
Constraints

Overview of Constraining Objects


2
1
1 Select the object to be constrained.
2 Choose the constraint command from the Constrain menu.
3 Pick the constraining (control) object. The constraint is
created between the objects.
4 Adjust the constraint in its property editor that opens.
You can see constraint information in the viewport if
3
you click the eye icon in a viewport’s menu bar and select
Relations.

Creating Offsets between Constrained Objects


When you constrain an object, you often need to offset it in some way
from the constraining object. This could be an offset in position,
orientation, or scaling. For example, if you position-constrain one
object to another without an offset, both objects end up sharing the
4 same position (“on top” of each other), so you need to offset them.

Constraining object Constrained object


(magnet) (airplane)

Position constraint without


offset: The position of the
constrained object’s center
matches that of the
constraining object’s center.

Position constraint with offset:


An offset is applied to the
position of the constrained
object’s center.

Basics • 161
Section 9 • Animation

With almost all types of constraints, you can set offsets using the
controls in their property editors. The offset is set between the centers
of the constrained and constraining objects on any axis.
To set an offset interactively, you can use the
CnsComp button (Constraint Compensation) on
the Constrain panel. With compensation, you can
interactively offset the constrained object from the
constraining object and animate it independently
while keeping the constraint.

Blending Constraints
You can blend multiple constraints on an object with each other, as
well as blend constraints with other animation on the constrained
object. You set the Blend Weight parameter’s value in each constraint’s A
property editor to blend the weight (or “strength”) of one constraint
against the others. And, of course, you can animate the blending to
have it change over time.
Blending is done in the order in which you applied the constraints,
from the first-applied constraint to the last. Each constraint takes the
previous result and gives a new one based on the value you set. For B
example, if you have three position constraints on an object, you can
have the object placed exactly in the center of them.
In the example on the right, the cone has three blended position
constraints to keep it positioned in the middle of the triangle formed
by objects A, B, and C:

A First to A with a blend weight of 1.


B Next to B with a blend weight of 0.5.
C Lastly to C with a blend weight of 0.333. C

You can see the order of the constraints as well as their


blend weight values in a viewport if you click the eye
icon in a viewport and select Relations and Relations Info.

162 • Softimage
Path Animation

Path Animation
A path provides a route in global space for an object to follow in order After you’ve created path animation, you can modify the animation by
to get from one point to another. The object stays on the path because changing the timing of the object on the path (choose the Create >
its center is constrained to the curve for the duration of the animation. Path > Path Retime command), or by moving, adding, or removing
points on the path curve as you would to edit any curve.
You can create path animation in Softimage using a number of
methods, each one having its own advantages: For example, using the Path Retime command, you can shorten (and
therefore increase the speed) a path animation that went from frame 1
• The quickest and easiest way of animating an object along a path is
to 100 to frames 20 to 70. You can even reverse the animation—for
by using the Create > Path > Set Path command and picking the
example, enter 100 as the start and 1 as the end frame.
curve to be used as the path. There’s no need to set keyframes—just
set the start and end frames. The object is automatically
constrained to the path and animated along the percentage of the
curve’s length.
B A
• Constrain an object to curve using the Curve (Path) constraint and
manually set keys for the percentage of the path traveled.
C
• Choose the Create > Path > Set Trajectory command and pick a
trajectory to use a curve’s knots as indicators of the object’s D
position at each frame.

The dotted line is connected to the center of the constraining curve.


A You can select the line and press Enter to open the PathCns or
TrajectoryCns property editor.

B A triangle represents a locked-path key.


• Move an object about your scene and save path keys with the
Create > Path > Save Key on Path command at different C A square represents a key saved on the path.
positions—the path curve is created automatically as you go. A circle represents a key set directly from a property page or the
• Convert the existing movement of an object into a path using the D animation editor. These are the only type of keys found on
trajectories.
Create > Path > Convert Position Fcurves to Path command.
You can see path information in a viewport if you click the
Want to convert a path animation to translation? Plot the eye icon in a viewport and select Relations.
position of the path-animated object, then apply the result to
the object or as an action in the animation mixer.

Basics • 163
Section 9 • Animation

Linking Parameters
When you create linked parameters, also known as driven keys, you • Drive a single parameter with the combined animation values of
create a relationship in which one parameter depends on the animation multiple parameters. This allows you to create more complex
state of another. In Softimage, you can create simple one-to-one links relationships, where many parameter values are interpolated to
with one parameter controlling another, or you can have multiple create an output value for one parameter.
parameters controlling one parameter.
• Drive a single parameter with the whole orientation of an object.
After you link parameters, you set the values that you want the
parameters to have, relative to a certain condition (when A does this, B Overview of Linking Parameters
does this). To open the Parameter Connection Editor, choose View > Animation
> Parameter Connection Editor. Then follow these steps:

Venus flytrap eyes its victim. Its jaw’s rotation Z parameter is linked to
the position X parameter of the fly that is animated along a path. 3

You can link any animatable parameters together—from translation to


color—to create some very interesting or unusual animation
conditions. For example, you could create a chameleon effect so that 1
when object A approaches object B, it changes color. Basically, if you can
animate a parameter, you can link it.
There are three basic ways in which you can link parameters. You can:
5
• Create simple one-to-one links with one parameter driving one or
more other parameters. When you link one parameter to another, a
6 4
relationship is established that makes the value of the linked
parameter depend on the value of the driving parameter.

164 • Softimage
Linking Parameters

1 Select an object, then select one or more of its parameters in


the Driven Target explorer. These are the parameters whose
values will be controlled by the driving parameter.
2 Click the lock icon to prevent the explorer from changing
when you select other objects.
3 Select an object, then select one of its parameter in the Driving
Source explorer. This is the parameter whose values will
control the linked parameters.
If you are driving a single parameter with multiple
parameters, select two or more of the parameters (Ctrl+click)
here. These are the parameters whose interpolated values will
control the linked parameter.
4 Select Link With from the link list.
If you are driving a single parameter with multiple
parameters, select Link With Multi.
5 Click the Link button.
A link relationship is established between the parameters. An
l_fcv expression appears in the Definition text box and the
animation icon of the linked parameter displays an “L” to
indicate this.
If you are driving a single parameter with multiple
parameters, an l_interp expression appears in the Definition
text box.
6 Set the driving and linked parameters’ values as you want
them to be relative to each other, then click the Set Relative
Values button.
Repeat this step for each relative state you want to set.

Basics • 165
Section 9 • Animation

Expressions
1 Select an object and open the expression editor by pressing
Expressions are mathematical formulas that you can use to control any Ctrl+9.
parameter that can be animated, such as translation, rotation, scaling,
materials, colors, or textures. Expressions are useful to creating regular 2 Select the target, which is the parameter controlled by the
or mechanical movements, such as oscillations or rotating wheels. As expression.
well, they allow you to create almost any connection you like between The Current Value box below it shows the value of the
any parameters, from simple “A = B” relationships to very complex expression at the current frame.
ones using predefined variables, standard math functions, random
number generators, and more. 3 Enter the expression in the expression pane by typing
directly or by choosing items from the Function, Object,
However you use expressions, you will find that they are very powerful and Param menus.
because they allow you to animate precisely, right down to the
parameter level. Once you’re more experienced using them, you can You can also enter parameter names by typing their script
create all sorts of custom setups, like character rigs and animation names and then pressing F12. This prompts you with a list
control systems. of possible parameters in context.
You can copy, cut, and paste in the expression pane using
Overview of writing an expression
standard keyboard shortcuts (Ctrl+C, Ctrl+X, and Ctrl+V,
respectively).
1 5 4 The message pane updates as you work, letting you know
whether the expression is valid or not.
5 Click the Validate and Apply buttons to validate and then
2 apply the expression.
For a complete description and syntax of all the functions
and constants available, refer to the Expression Function
4
Reference (choose Help > User’s Guides).

166 • Softimage
Expressions

How to create a simple equal (=) expression: 3 ways


Use any of these methods to create a simple equal expression between
two parameters:

A In a property editor, drag an unanimated parameter’s


animation icon onto another parameter’s animation icon.
This animation icon shows an equal sign and its value is
made to be equal to the first parameter.
B In the explorer, drag the name of an unanimated
parameter and drop it on another parameter’s name.
C In the parameter connection editor, set up the Driving
Source and Target parameters, then select Equals (=)
Expression.

Basics • 167
Section 9 • Animation

Copying Animation
There are different levels at which you can copy animation in • You can copy animation between any parameters in the explorer or
Softimage: between parameters, between objects, or between models. a property editor in a number of ways:
Here are some of the main ways to do this.

A B

• You can copy any type of animation between


selected objects, models, or parameters using
D
the Copy Animation commands from the
Animation menu in the Animation panel.
• You can copy keys between parameters or objects in the dopesheet,
or copy function curves and keys between parameters or objects in
the fcurve editor. In the explorer, drag the name of an animated parameter and drop it
A
on another parameter’s name.
In the dopesheet, you can copy animation from one model to
In a property editor, drag the animation icon of an animated
another, or from one hierarchy of objects to another within the B
parameter and drop it on another parameter’s animation icon.
same model. For example, you can paste a walk cycle animation
from the Bob model to the Fred model, as long as Fred has the same In either the explorer or a property editor, right-click the animation
parameter names as Bob. C icon of an animated parameter and choose Copy Animation. Paste
this on another parameter with the Paste Animation command.
• Store an object’s animation in an action source and copy it between
In the explorer, you can drag an entire folder from one object onto
models, which is especially useful for exchanging animation D another object’s folder of the same name, such as the Pos folder
between scenes. which contains translation (position) parameters.

168 • Softimage
Scaling and Offsetting Animation

Scaling and Offsetting Animation


If you find that your whole animation is a bit too long or too short, or You can also use the dopesheet to offset or scale animation for an
you just want to offset by a few frames, you can do so with the object or even the scene, especially using its summary tracks.
Sequence Animation commands from the Animation menu in the
Animation panel. They give you control over animation by offsetting The selected fcurve (white) has been scaled to twice its length. The
A
or scaling (shortening or lengthening) the motion of all objects, ghosted fcurve (black) shows the original fcurve’s size.
selected objects, or just the marked parameters of selected objects.
B The selected fcurve has been offset by about 20 frames.
You can offset or scale all function curves. You can scale and offset
using explicit values, or else you can retime an animation by fitting it The selected fcurve has been retimed so that a range of 125 frames
C
into a specified frame range. You can even easily reverse an animation. in the middle of it has been compressed into a range of 80 frames.

Basics • 169
Section 9 • Animation

Plotting (Baking) Animation Removing Animation


When you plot the animation on an object using the commands in the There are different levels at which you can remove animation in
Tools > Plot menu on the Animate toolbar, the animation is evaluated Softimage: between parameters, between objects, or between models.
frame by frame and function curves are created. Here are some of the main ways to do this.
Plotting is useful for generating function curves from any type of • You can remove any type of animation from
animation or simulation, such as from the simulation of a spring-based selected objects, models, or parameters using
tail on a dog, or plotting mocap animation from a rig. You can also plot the Remove Animation commands from the
the animation of a constrained object and then remove its constraints Animation menu in the Animation panel.
so that only the plotted animation remains on the object.
• You can remove all keys from parameters or objects in the timeline
or in the dopesheet, or remove fcurves or all keys from parameters
Animation of an object or objects in the fcurve editor.
constrained between two
points is plotted.
• When you remove keys from an fcurve, a flat (static) fcurve
remains. To remove the static fcurve, choose Remove Animation >
from All Parameters, Static Fcurves from the Animation menu.
• In the dopesheet, you can easily remove all animation from a
model or from a hierarchy of objects using its summary tracks.
• To remove animation from
parameters in a property
Plotting is done by first creating an action source. You can choose to editor, right-click the keyframe
either keep or delete this action source after the animation has been icon at the top of the editor
plotted: and choose Remove
Animation. This removes
• You can apply the plotted animation (fcurves) immediately to the animation from all or marked
object and delete the action source. animated parameters on that
• You can apply the plotted animation (fcurves) to the object and property page.
also keep them stored in an action source. This may be useful if • To remove animation from
you’re using the animation mixer. parameters in the explorer or a
• You can keep the action source of the plotted animation (fcurves) property editor, right-click the
but not have it applied to the object immediately. This may be animation icon of an animated
useful for creating a library of action sources that can be applied to parameter and choose Remove
the same or even a different object. Animation.

170 • Softimage
Section 10

Character Animation
Character animation is all about bringing your
characters to life, whether it’s some guy dancing in a
club, a dog catching a frisbee, or a simple bouncing
ball with personality to spare.
Even though you’re working in a virtual
environment, your job is to make these characters
seem believable in their movements and expression.
In Softimage, you’ll find everything you need to
make any type of character come alive.

What you’ll find in this section ...


• Character Animation in a Nutshell
• Setting Up Your Character
• Building Skeletons for Characters
• Enveloping
• Rigging a Character
• Animating Characters with FK and IK
• Walkin’ the Walk Cycle
• Motion Capture
• Making Faces with Face Robot

Basics • 171
Section 10 • Character Animation

Character Animation in a Nutshell


Softimage has many tools to help you create and animate your The following outline gives you an idea of which steps to take and
characters. Some of them are tools designed for character animation, which tools to use for developing and animating characters in
such as inverse kinematics, while others are part of the standard Softimage.
Softimage tool set, such as modeling and keying tools.

1 Model the body geometry


that is to be used as the 2 Create a model structure
envelope (skin). for your character, starting
with the body geometry.
You can use either a low or
high-resolution version of the Then as you create the
envelope. A low-res envelope other elements (skeleton,
lets you work out the animation rig controls, Mixer node),
with it as a reference, but you put them in the model
doesn’t hinder the refresh to keep all the character’s
speed. You can later switch to elements together.
the high-res version for the final This makes it easy to copy
animation and rendering. or export your character
later on.

3 Build a skeleton to provide a


framework for a character, 4 Create a rig using different
and to pose or deform it control objects to help you to
intuitively. pose and animate the
character more quickly and
The structure of your accurately than without a rig.
character’s skeleton
determines every aspect of While simple characters may
how it will move. not require a rig, a character
that is complex or needs to do
With the envelope as a guide, complicated movements will
you can create the bones for need a rig.
the skeleton and assemble
them into a hierarchy.

172 • Softimage
Character Animation in a Nutshell

5 Apply the envelope to the skeleton.


This also involves setting how the
different parts of the envelope are 6 Animate the skeleton using inverse kinematics (IK) and
weighted to the different bones in the forward kinematics (FK).
skeleton.
You can also apply mocap data to your character to
You should also save a reference pose animate it, including retargeting the data onto different
of the envelope before you start characters with the MOTOR tools.
animating for a home base to which you
can return.

7 Adjust the animation using any of the animation


tools in Softimage, such as the dopesheet, the
fcurve (animation) editor, animation layers, or the
animation mixer.
For example, you many want to fix foot sliding in
the fcurve editor, add a progressive offset to a
walk cycle in the mixer, or add a few keyframes
on top of some mocap data with animation
layers.

Basics • 173
Section 10 • Character Animation

Getting Started with Ready-Made Characters All predefined skeletons, bodies, characters, and rigs are implemented
as models. As well, most of the bipeds share the same basic hierarchy
Looking for a quick way to get started with characters in Softimage? structure that you can see in the explorer, making it easy to share
Check out the ready-made models in the Get > Primitive > Model and animation later, especially if you’re using actions in the animation
Get > Primitive > Character menus. Here are just a few of the mixer.
characters you’ll meet on these menus:
Making Custom Characters and Faces
The Character Designer (choose Get > Primitive > Character > Man
Maker) loads a generic male body, then use sliders in a property editor
to interactively manipulate individual body and head features. You can
create many bodies, each with their own distinctive look, yet have all
bodies sharing the same underlying topology.
The Face Maker (choose Get > Primitive > Character > Face Maker)
loads a predefined low-resolution polygon mesh head (male or
female). This lets you can create any number of different faces with the
same topology, allowing you to easily copy shape animation keys
between them. Perfect for testing out some shape animation!

Complete Woman Skeleton and Biped Character Man Maker

Face Maker

XSI Man Armored and Elephant

174 • Softimage
Setting Up Your Character

Setting Up Your Character


How you set up your character determines its destiny in many different Organizing Your Character into Scene Layers and
ways. Here are some issues to think about while you’re planning out Groups
your character animation.
Scene layers let you divide up different scene elements into groupings
Putting the Character’s Elements into Models whose visibility, selectability, renderability, and ghosting can be
controlled. Press 6 to open the scene layer manager and set up the
Models in Softimage are containers that make it easy to organize scene layers.
elements that need to be kept together. A character’s skeleton hierarchy,
For example, you can separate the
rig controls, envelope geometry, and groups are often kept together
character’s envelope (geometry), its
within a model. The main reasons for using models with character
skeleton, and its control objects for
animation is that they provide the easiest way to import and export
the rig each into different layers.
characters between scenes and to copy animation between characters.
Layers, however, live only at the scene
You can refine your rigs
level, so if you’re importing and
and character models
exporting models between scenes, they’re not going to include any
over the course of a
layer information. This is where groups can be of help.
production without fear
of lost animation. For Groups let you keep certain character
example, character elements together for easy selection, such
animators can start as all objects that are to be enveloped.
roughing out animation Groups are properties of a model, so you
with a simple rig and low can export them with your character
resolution proxy model model.
while the other creative
work is still being worked
out. As long as you keep
the rig controls’ names
and their coordinate space consistent, all the animation is kept and can
be reapplied as the character and rigging both get more complex.
Another reason to work with models is to easily use the animation
mixer. Each model can only have one Mixer node. If you have many
characters in a scene but they aren’t within models, you have only one
Mixer node for the whole scene (under the scene root, which is
technically a model) which means that you can’t copy animation from
one character to another.

Basics • 175
Section 10 • Character Animation

Tools for Easy Viewing and Selecting You can set up a character synoptic view for other members of your
team, allowing them to use your character easily. Synoptic views allow
When you’re animating a skeleton, you may want to work with a low- you and others to quickly access commands and data related to a
resolution version of the envelope on the skeleton. This helps you get a specific object or model. They consist of a simple HTML image map
sense of how the animation will work with the final envelope. However, stored as a separate file outside of the Softimage scene file. The HTML
working with enveloped skeletons can make it difficult to view or select file is then linked to a scene element.
chain elements. To help you with this, Softimage has several viewing
and selection options, with the most common ones shown here. Clicking on a hot spot in the image either opens another synoptic view
or runs a linked script. You can include all sorts of information about
X-ray shading lets you see and the character, set up hotspots for selecting body parts, setting keys on
select the underlying chains while different elements, running a script, etc.
still seeing the shaded surface of
the envelope.
You can display the chains
in screen (bones inside) or
overlay (bones on top) Synoptic views
modes.
Click on a hot spot on the
synoptic image to run the
script that is linked to that
image.

Shadow icons are displayed here as


cylinders for many bones. These shadows
have been resized and offset from the
bone to make them easy to see and grab.
You can also color-code the shadows to
identify different groups of controls.
You can also change the shape, color, and
size of the chain elements themselves
(such as resizing the bones), including
having no chain element displayed at all.

176 • Softimage
Building Skeletons for Characters

Building Skeletons for Characters


Skeletons provide an intuitive way to pose and animate your character. is referred to generically as a chain in Softimage because you can use
A well-constructed skeleton can be used for a wide variety of poses and chains for animating any type of object, not just humans or creatures.
actions. Skeletons in Softimage are made up of bones that are linked Chains have several elements, each of which has an important part to
together by joints that can rotate. The combination of bones and joints play, as shown below.

Anatomy of a skeleton
The bones are connected by joints. A bone always
rotates about its joint, which is at its top. The first bone
rotates around the root.
The first bone in the chain is a child of the root, and all
The root is a null that is the starting point other bones are children of their preceding bones.
on the chain. It is the parent of all other
elements in the chain. Keying the rotation of bones is how you animate with
forward kinematics (FK).
Because the first joint is local to the root,
the root’s position and rotation determine
the position and rotation of the rest of the
chain.
A joint is the connection between elements in a chain:
between bones in the chain, between the root and the
first bone, and between the last bone and the effector.
By default, joints are not shown but you can easily
display them.
The effector is a null that is the last part of
a chain. Moving the effector invokes • In a 2D chain, the joints act as hinges, restricting
inverse kinematics (IK), which modifies movement so that it’s easier to create typical limb
the angles of all the joints in that chain. actions, such as bending an arm or leg. Only its first
joint at the root acts as a ball joint, allowing a free
When you create a chain, the effector is a range of movement: when using IK, the rest of the
child of the root, not the preceding bone. 2D chain’s joints rotate only on the root’s Z axis, like
hinges. Of course, you can rotate the joints of a 2D
chain in any direction with FK, but this is overridden
as soon as you invoke IK.
• In a 3D chain, the joints can move any which way
they like. All of its joints are like ball joints that can
rotate freely on any axis, allowing you to animate
wiggly objects like a tail or seaweed.

Basics • 177
Section 10 • Character Animation

Creating Skeletons After you have created the chains for a character’s skeleton, you need to
organize them in a hierarchy. Hierarchies are parent-child relationships
Drawing chains is pretty simple in Softimage: you choose the Create >
that make it easy to animate the skeleton. There are many different
Skeleton > Draw 2D Chain or 3D Chain command on the Animate
ways in which you can set up a hierarchy, depending on the skeleton’s
toolbar and click where you want the root, joints, and effector to be.
structure and the type of movements that the character needs to make.
Here are some tips to help you draw chains:
• Draw the chains in relation to the default pose of the envelope that Part of a skeleton hierarchy structure shown in the
you’re planning to use. This means you don’t have to spend as schematic view. In this case, the spine root is the parent of
the leg roots, spine, and spine effector.
much time adjusting each bone’s size and position later.
These elements are, in turn, parents of the legs, neck,
• Draw the chain with at least a slight bend to determine its direction shoulders, spine, and so on.
of movement when using IK. Drawing bones in a straight line can
result in unpredictable bending.
• If you want two chains to be mirrored, such as a character’s arms or
legs, you can draw one and have the other one created at the same
time. Just activate symmetry (Sym) mode and then draw a chain.

1 Choose the Create > Skeleton > Draw


2D Chain or Draw 3D Chain command. How to create a hierarchy

In an explorer, drag the nodes


2 Click once to create you want to be children and
root and first joint. drop them onto the node that
will be the parent.

3 Click again to create first bone


and second joint. OR

Tip: You can try out the joint’s 4 Click once more to create Select the node you
location by keeping the another bone and joint. want to be the parent,
mouse button held down as
click the Parent button
you drag.
and then pick the
The bone and joint are not 5 When you’re ready to finish, elements that will be its
created until you let go of the right-click to create the children.
mouse button. effector and end the chain.
Right-click to end the
parenting mode.

178 • Softimage
Building Skeletons for Characters

Hold That Pose! Neutral Poses for Easy Keying


When you’re creating a skeleton, it’s a good idea to save it in a default While a character’s reference or neutral T-pose makes it easy to weight
position (pose) before it’s animated or enveloped. This way you have a the envelope and adjust its textures, it’s not the best pose for animating.
solid reference point to revert to when enveloping and animating the This is because it can create local transformation values that are not
skeleton. This pose is known as the neutral pose, reference pose, base easy to key. For example, if you load the default skeleton that comes in
pose, or bind pose, and is usually set up so that the character has Softimage and you want to key the rotation of the finger bones, you’ll
outstretched arms and legs (a T-pose), making it easy to weight the see that the bones’ local rotation values are difficult numbers to use for
envelope and adjust its textures. keying because they often involve several decimal places.
To save the skeleton in a pose, you can create an action source using the To solve this problem, pose your character how you want for its neutral
Skeleton > Store Skeleton Pose command. To return to this pose at any pose and then simply choose the Skeleton > Create Neutral Pose
time, you apply it to your character with the Skeleton > Apply Skeleton command. This creates a neutral pose that uses zero for its local
Pose command. transformation values (0 for rotation and translation, 1 for scaling).
Basically, this neutral pose acts as an offset for the object’s current local
Because this pose is saved in an action source, you can pop it into the
transformation values. To return to this neutral pose, you can enter
animation mixer to do nonlinear animation. For example, you could
zero in the Transform panel (“zero out” the values).
use this pose, as well as other stored action poses, to block out a rough
animation for the character in the mixer. Then when you key the character’s values, they reflect the relative
difference from zero, and not a number that’s difficult to use. For
example, when you key a hand bone at coordinates (0, 3, 0), you know
that it’s 3 units in the Y axis above the neutral pose.

Branch-selected hand bone


in neutral pose at 0.
Hand bone rotated and keyed. Notice how
the rotation values are easy to understand
because they’re using 0 as a reference.
Character in his neutral pose
for weighting and texturing.
If you store a skeleton pose of
this position, it’s easy to
return to it at any point of
your character’s development.

Basics • 179
Section 10 • Character Animation

Making Adjustments to a Skeleton Resizing bones


Even though you’ve created your skeleton with the envelope in mind,
The easiest way to resize bones is to use the Create > Skeleton >
you always need to resize bones, chains, or a whole skeleton to achieve Move Joint/Branch tool (press Ctrl+J).
the exact structure you want. As well, you may need to add or remove
This tool lets you interactively resize bones by moving any chain
bones to the skeleton.
element to a new location. The bones that are immediately
It’s usually better to modify a skeleton before you apply the envelope to connected to that chain element are resized and rotated to fit the
chain element’s new location.
it so that you don’t have to reweight the envelope to the bones.
However, you can change the skeleton after it’s been enveloped, and
Moving the knee joint
decide whether to have the envelope adjust to the skeleton or not. using Move Branch
resizes only the bone
Adding bones above it: this joint’s
children are moved as
You can add bones to a chain a group but are not
using the Create > Skeleton > resized.
Add Bone to Chain command.
Click at the point where you
want the new bone to end, and
the new bone is added between
the last bone and the effector.
Use the Move Joint tool to move
Keep on adding as many bones the knee joint to a new position. The
as you like, then right-click to bones connected above and below
end the mode. this joint are resized.

Modifying bones for an


Removing bones enveloped skeleton
You can’t select and delete individual bones from a If you resize or add bones to a skeleton that’s
chain because of their hierarchy dependencies, but already enveloped, the envelope automatically
you can branch-select (middle-click) a chain and then adjusts to the new skeleton. This means that
delete it. you may need to adjust the weighting on the
If there are children in that chain that you want to envelope.
keep, make sure to Cut their links before deleting the If you want to resize bones without having the
chain, and then reparent envelope adjust to the new size, you set a new
them to the modified reference pose with the Deform > Envelope >
chain. Set Reference Pose command.

180 • Softimage
Enveloping

Enveloping
An envelope is an object that deforms automatically, based on the pose in the explorer—this is equivalent to picking every object in the
of its skeleton or other deformers. In this way, for example, a character group individually. If you make a mistake, Ctrl+click to undo the
moves as you animate its skeleton. The process of setting up an last pick.
envelope is sometimes called skinning or boning.
5. When you have finished picking deformers, right-click to terminate
Every point in an envelope is assigned to one or more deformers. For the picking session. Each deformer is assigned a color, and points
each point, weights control the relative influence of its deformers. Each that are weighted 50% or more toward a particular deformer are
point on an envelope has a total weight of 100, which is divided displayed in the same color.
between the deformers to which it is assigned. For example, if a point is
Use the Automatic Envelope
weighted by 75 to the femur and 25 to the tibia, then the femur pulls on
Assignment property editor to adjust
the point three times more strongly than the tibia.
the basic settings.
Setting Envelopes 6. Move the deformers to see how the
envelope deforms. If necessary, you can
1. Make sure the envelope and now change the deformers to which
deformers are in the reference pose points are assigned, as well as modify
(sometimes called a bind pose). the envelope weights using the
The reference pose determines methods described in the next few
how points are initially assigned sections.
and weighted. It’s best to choose a
reference pose that makes it easy
to see and control how points will If you ever need to reopen the
be assigned. Automatic Envelope
Assignment property editor,
2. Select the objects, hierarchies, or
you can find it in the
clusters to become envelopes.
envelope weight stack in
3. Choose Deform > Envelope > Set Envelope from the Animate an explorer.
toolbar.
If the current construction mode is not Animation, you are
prompted to apply the envelope operator in the animation region
of the operator stack anyway. In most cases, this is probably what
you want.
4. Pick the objects that will act as deformers. You are not restricted to
skeleton bones; you can pick any object. Left-click to pick individual
objects and middle-click to pick branches. You can also pick groups

Basics • 181
Section 10 • Character Animation

The Weight Paint Panel


The weight paint panel is very useful when modifying weights. It combines several features from the weight editor, brush properties, and the Animate
toolbar. To display the weight paint panel, press Ctrl+3 or click the weight paint panel icon at the bottom of the toolbar.

Set weight assignment of selected points to current


Chose a paint mode. deformer numerically.
Weight Paint Panel
Activate Paint tool. Numeric weight assignment options.
Set paint density.
Smooth weights on object or selected points.
Set brush size.
Reassign points to other deformers.
Update continuously (on) or
Freeze initial weight assignment and any modifications.
only when mouse button is
released (off). Open weight editor
Pick a deformer for painting Display only current deformer’s weight map.
from the 3D views.
Select the deformer with
the most influence on the
point you pick
Change color of current deformer.
Click to pick deformer for
painting. Right-click for
other options.

Painting Envelope Weights 4. If desired, set the paint mode. Most of the time you will be using
Add (additive) but Smooth, Erase, and Abs (absolute) are also
You can use the Paint tool to adjust envelope weights. This lets you use sometimes useful.
a brush to apply and remove weights on points in the 3D views.
5. If desired, adjust the brush properties:
1. Select an envelope.
- Use the r key to change the brush radius interactively.
2. Activate the Paint tool using the weight paint panel or by pressing
w. - Use the e key to change the opacity interactively.
3. Pick a deformer for which you want to paint weights by selecting it in - Set other options in the Brush Properties editor (Ctrl+w).
the list in the weight paint panel or by pressing d while picking it in a
6. Click and drag to paint on points on the envelope. In normal
3D view.
(additive) paint mode:
- To add weight, use the left mouse button.

182 • Softimage
Enveloping

- To remove weight, either use the right mouse button or press Reassigning Points to Specific Deformers
Shift+left mouse button.
You can reassign points to specific deformers. This is useful in case the
- To smooth weight values between deformers, press Alt+left automatic assignment did not assign the points to the desired bones.
mouse button.
1. Select points on the envelope.
7. Repeat steps 3 to 6 for other deformers and points until you are
satisfied with the weighting. 2. Choose Deform > Envelope > Reassign Locally on the Animate
toolbar, or click Local Reassign on the weight paint panel.
If your envelope has multiple maps, for example, a weight 3. Pick one or more of the original deformers.
map in addition to an envelope weight map, then you may
need to select the envelope weight map explicitly before you
can paint on it. A quick way is to select the enveloped
geometry object, then choose Explore > Property Maps from
the Select panel and select the map to paint on.

Smoothing Envelope Weights


In addition to painting in Smooth mode, you can select an envelope or
specific points and click Apply Smooth on the weight panel. This
applies a Smooth Envelope Weight operator with several options.

Mirroring Envelope Weights Symmetrically These points are incorrectly


assigned to this deformer.
You can mirror the envelope weighting symmetrically. This lets you set
up the weighting on one half or your character and then copy the
weights to the corresponding points and deformers on the other half.
First, you must establish the correspondence between symmetrical
points and deformers using Deform > Envelope > Create Symmetry
Mapping Template from the Animate toolbar. Then, you can select
properly weighted points and copy their values to the other side using
Deform > Envelope > Mirror Weights.

Basics • 183
Section 10 • Character Animation

Setting Weights Numerically


The weight editor allows you to modify envelope weight assignments
numerically. You can open the weight editor by pressing Ctrl+e or by
clicking Weight Editor on the weight panel.

Transfer cell selection


Control display of to 3D views. Reassign points to
enveloped objects. other deformers.
Smooth weights on object or selected points.
Freeze the envelope operator stack.

Control display of points and deformers. Limit the number of deformers per point.
Lock weights. Weight assignment options.

Deformers are listed in columns. Right-


click for display options. Drag a column Set weight of selected cells.
border to resize.

Multiple envelopes.
Double-click to expand and collapse, or
right-click for more options.

If some points aren’t fully weighted, the


name is shown in red. Hover the mouse
pointer over the name to see how many
points aren’t fully weighted.

Points are listed in rows. Click to select,


right-click for display options. Drag a row
border to resize. Points that aren’t fully Points with more deformers than
weighted are shown in red. the limit are shown in yellow, as are
envelopes with such points.

Selected cells are Non-zero weights


highlighted. are shaded.

184 • Softimage
Enveloping

Locking Envelope Weights Using Envelope Presets


You can lock or “hold” the values of envelope weights using the weight You can use the commands on the File menu of the weight editor to
editor, the Envelope menu of the Animate toolbar, or the context menu save and load presets of envelope weights. This can be useful if you
in the deformer list of the weight panel. Locking prevents you from want to experiment with modifying weights—you can save the current
accidentally modifying points that you have carefully adjusted when weights and reload them later if you don’t like the results.
you are working on other points. It is also useful for setting exact
To share presets between different envelopes, the envelopes must meet
numeric values while keeping Normalize on so that points don’t
the following conditions:
inadvertently become partially weighted to no deformer. If you need to
modify locked points later, you must first unlock them. Points that are • They must have exactly the same topology. This includes both the
locked for all deformers are drawn in black in the 3D views. number of points and their connections.
If you added points after you created a preset, and then reapply the
Freezing Envelope Weights preset to the modified geometry, the new points are not weighted
to any deformer until you assign them manually.
When you freeze envelope weights using Freeze Weights on the weight
paint panel, the weight map’s operator stack is collapsed, removing the • Their deformers must have the same names.
original Automatic Envelope Assignment property along with any The easiest way to meet these conditions is to simply duplicate a model
Weight Painter, Modify Envelope Weight, and Smooth Envelope Weight containing an envelope and its deformers.
operators that have been applied. This reduces the amount of stored
data and increases performance, but also has a number of other effects: Changing Reference Poses
• The initial envelope weights can no longer be recalculated—it’s as if
After an envelope has been assigned, you can change the reference pose
the envelope was imported as is.
of the envelope. The reference pose is the stance that the envelope and
• If you change the reference pose, you can no longer change the its deformers return to when you use the Reset Actor command. It is
initial envelope weights based on the new pose. also the pose that determines the initial weighting of points to
deformers based on proximity.
• If you add a deformer to an envelope, you can no longer recalculate
the weights automatically. The envelope points are all weighted 0 to First mute the envelope, then adjust the positions of the envelope and
the new deformer, and you must assign weights manually. deformers. Next, select both the envelope and deformers and choose
Deform > Envelope > Set Reference Poses from the Animate toolbar.
However, you can still add new paint strokes, smooth weights, and edit Finally, unmute the envelope.
weights numerically after freezing. In addition, you can still reassign
points locally to other deformers.

Basics • 185
Section 10 • Character Animation

Adding and Removing Deformers Limiting the Number of Deformers per Point
After you have applied an envelope, you can add and remove You can limit the number of deformers to which each point’s weight is
deformers. To add deformers, select the envelope, choose Deform > assigned. This can be especially important for game characters, because
Envelope > Set Envelope from the Animate toolbar, pick the new some game engines have a limit on the number of deformers.
deformers, and right-click when you have finished. If the envelope
1. Set the maximum number of deformers on the weight editor’s
weights have been frozen or if Automatically Reassign Envelope When
command bar.
Adding Deformers is off, no points are weighted to the new deformers
so you must do that manually. Otherwise, the initial weight
Maximum number of deformers
assignments are recalculated and any modifications you made to them
are preserved. If a point’s weight is assigned to more than this number of
To remove deformers, simply choose Deform > Envelope > Remove deformers, its row is shown in yellow in the weight editor. If an
Deformers from the Animate toolbar, pick the deformers to remove, envelope has any such points, its row is shown in yellow, too.
and right-click when you are finished. 2. To try to fix these points automatically, click Enforce Limit. A Limit
Envelope Deformers operator is applied, and its property page is
Modifying Enveloped Objects opened automatically. By default, the limit is the one you set on the
Sometimes, after carefully assigning weights manually, you discover command bar, but you can change it for individual operators.
that you need to make a substantial change to the enveloped object, If a point has more than the maximum number of deformers, the
such as adding points. Luckily, you do not need to redo all your operator unassigns the deformers with the lowest weights and then
weighting—you can add and move points after enveloping. normalizes the weight among the remainder. However, it will
When you add a point to an enveloped object, it is automatically respect locked weights—locked weights are never changed, even if
weighted based on the surrounding points. It is better to add new other deformers have greater weight. If there aren’t enough
points before removing old ones—this means that there is more unlocked weights to modify, then the total weight might not add
weight information for the new points. You can assign the new points up to 100%.
to specific deformers and modify weights as with any point on the
envelope.
If you want to apply a deformation or move points on an enveloped
object, make sure to first set the construction mode based on what you
want to accomplish. For example:
• If you want to modify the base shape of the envelope, set the
construction mode to Modeling.
• If you want to author shape keys on top of the envelope, for
example, to create muscle bulges, set the construction mode to
Secondary Shape Modeling.

186 • Softimage
Rigging a Character

Rigging a Character
Control rigs allow for “puppeteering” a character, helping you easily Shadow Rigs and Exporting Animation
pose and animate it. Once a control rig is set up properly, you can
animate more quickly and accurately than without one. Shadow rigs are simpler rigs that are constrained to your more
complex main rig that is used for animating the character. Shadow rigs
There are a number of tools in Softimage to help you create a rig for are usually used for exporting animation, such as to a games or crowd
your character. You can use them to create control objects and engine or other 3D software programs.
constrain them to the skeleton, and to create shadows rigs and manage
the constraints between them and their parent rigs. You can load a basic shadow rig with the Get > Primitive > Model >
Biped - Box command. You can also create a shadow rig from a guide
You can also use the prefab guides and rigs in Softimage to help you get with the Character > Hierarchy from Guide command, or generate a
going quickly. These are available for biped, dog-leg biped, and shadow rig at the same time that you create a prefab rig.
quadruped characters. The rigs are skeletons that include control
objects that you can position and orient to animate the various parts of To transfer the animation from the complex (animated) rig to its
the character’s body. shadow rig, you plot the animation while the shadow rig is still
constrained to the complex rig. Then you can export the shadow rig or
just its animation.
Ready-made (prefab) biped rig
that comes with Softimage Animation
transferred to
Animated shadow rig while
main rig it’s constrained to
the main rig.
You can create either
a quaternion or
regular chain spine Volume
and head. indicators help
you work with
Separate controls for envelopes.
the chest, upper body,
and hips let you
position and rotate
each area individually.

Feet have three


controls to allow for
complex angles and
foot rolls.

Basics • 187
Section 10 • Character Animation

Creating Your Own Rig


2 Constrain the control object to
There are a number of tools in Softimage to help you create a rig for its skeleton element using
your character. You can create primitive control objects (such as constraints from the Constrain
spheres and cubes) or sophisticated control elements, (such as spines menu.
and spring-based tails) and constrain them to the skeleton. Expressions The pose constraint is often
and scripted operators on these controls allow you to have ultimate used because it constrains all
control over your character’s animation. There are also tools to help transformations (SRT) of the
control object to its skeleton
you easily create shadows rigs and manage the constraints between element.
them and their parent rigs.

1 Create control objects out of


primitive objects or curves for each
skeleton element you want to control.
You can also create your own objects
to look like the body parts you’re Use up-vector constraints for
controlling, such as the feet, hands, controlling the resolution plane of the
head, or hips. arms and legs when using IK.
Put the control objects behind the legs
or arms and constrain them to the
thigh or upper-arm bones using the
Create > Skeleton or Constrain >
You can create a simple but flexible spine Chain Up Vector command.
with the Create > Skeleton > Create
Spine command. This creates a
quaternion-blended spine for controlling a
character the way you like. You constrain 3 Create an object, such as a null,
the top and bottom vertebrae to hip and and make it the parent of all
chest control objects that you skeleton and rig control
create. objects.
Also make sure that all the rig
control objects are within the
character’s model.
You can also create a
Create spring-based tail or ear controls Transform Group in which a
using the Create > Skeleton > Create Tail null becomes an invisible
command. Spring-based controls use parent of all selected objects.
dynamics to make them react to motion,
such as bouncing when a character runs or
jumps.

188 • Softimage
Rigging a Character

Using Prefab Guides and Rigs You can customize these guides and rigs so that they contain only the
elements you need. They can be used as a starting point for different
You can use the prefab guides and rigs in Softimage to get going rigging styles, and technical directors can write their own
quickly. These are available for biped, dog-leg biped, and quadruped proportioning script to attach their own rig to a guide.
characters. The resulting rigs created from the guides are skeletons that
include control objects that you can position and orient to animate the The guides have synoptic views to help you select and animate the rig
various parts of the character’s body. controls: select any control and press F3. There are also preset character
key sets and action sources to help you animate the rig.

1 Create a guide by choosing Character > Biped 2 When the guide is fitted to the envelope, 3 Apply the body geometry as an
Guide (or quadruped or biped dog-leg) and create a rig based on it by choosing Character envelope to the rig using the
adjust it to fit your character’s envelope. > Rig from Biped Guide. envelope_group
in the rig’s
The rig is a skeleton that also includes standard model to apply
Drag the red cubes Softimage objects as control objects. it to the correct
to resize the different parts of the rig.
parts of the body.
You can use
symmetry to
resize the limbs on
both sides of the
body at the same
time. 4 Position and rotate the rig controls
and key them to animate the various
parts of the skeleton.

You can also create tail, ear, and belly


controls that are driven by springs. This
lets you create secondary animation on
these body parts using dynamics.

Basics • 189
Section 10 • Character Animation

Animating Characters with FK and IK


Skeletons provide an intuitive way to pose and animate your model. A • Have a movement properly “follow through”, such as giving a good,
well-constructed skeleton can be used for a wide variety of poses and hard kick to a football.
actions, in much the same way as the skeletons in our bodies can. How
parts of the skeleton move relative to each other is determined by the Forward kinematics
way your skeleton hierarchy is built, whether and how objects are
constrained to each other. Bones in arm are rotated and
keyed in order from the
Before you start animating your character, it is important to upper arm down to
understand how animating transformations work in Softimage. There move from an
are several issues related to local and global animation, as well as outstretched position
animating transformations in skeleton hierarchies (see Animating to a raised position
Transformations on page 151). with a flexed wrist.

You animate skeletons using inverse kinematics (IK) and forward


kinematics (FK). The method you choose depends on what type of
motion you’re trying to achieve. Of course, you can animate with both
IK and FK on the same chain and then blend between them, allowing
you the flexibility to animate as you like. To animate with FK 1 Select a bone or the control rig object to
which a bone is constrained.
Animating with Forward Kinematics Click the Rotate (r) button in the
2
Transform panel or press C.
Forward kinematics, or FK as it is usually known, allows for complete
control of the chain’s behavior. When you animate with FK, you rotate 3 Rotate the bone into position on any axis
a bone into position, which sets the angle of its joint, and then key the (X, Y, Z).
bone’s rotation values (its orientation). Each movement needs to be 4 Key the bone’s rotation values.
planned to create the resulting animation. For example, to bend an
arm, you start from the “top” and move down by rotating the upper You could also animate with FK by first translating the chain’s effector
(invoking IK) to move the bones into position, and then tweaking
arm bone, the forearm bone, and finally the hand bone. each bone’s rotation as necessary.
With FK, you can: When things are in position, choose Create > Skeleton > Key All
Bone Rotations to set rotation keys for all the bones in that chain.
• Key the exact orientation (in X, Y, Z) of a joint. This prevents any
surprises from occurring when 2D chains flatten on their
To help make keying easier, you can create a character key set that
resolution plane.
contains all the rotation parameters for the bones. Then you can
• Control certain joints that are difficult to animate, such as quickly key using this set. In a similar way, you can use the keying
shoulders and arms. panel to key only the rotation parameters that you have set as “keyable”
for the bones.

190 • Softimage
Animating Characters with FK and IK

Animating with Inverse Kinematics


Inverse kinematics
Inverse kinematics, usually referred to as simply IK, is a goal-oriented
way of animating: you define the chain’s goal position by placing its
effector where you want, then Softimage calculates the angles at which
Leg’s effector is branch-
the previous joints in the chain must rotate so that the chain can reach selected (middle-clicked) and
that goal. translated to move the leg from
a standing position to doing the
IK is an intuitive way of animating because it’s how you probably think can-can.
of movement. For example, when you want to grab an apple, you think
about moving your hand to the apple (goal-oriented), not rotating
your shoulder first, then your arm, and then your hand.
With IK, you can:
• Easily try out different poses. Dragging an effector to reach a goal is
intuitive for certain types of actions. To animate with IK
1 Select the chain’s effector or the control
• Quickly animate simple movements, including 2D chains that have rig object to which the effector is
a limited range of movement. constrained.

2 Click the Translate (t) button in the


• Easily set up poses for a chain by positioning the effector, then Transform panel or press V.
keying either the effector’s translation (IK) or the bones’ rotation
values (FK). 3 Move the effector so that the chain is in
the position you want.
Translation values on effectors of chains created in Softimage are local Key the effector’s translation values.
4
to the effector’s parent (by default, the chain root). By not having the
effector tied to its preceding bone, you are free to create local
animation on the effector that can be translated with its parent.
However, many animators prefer to constrain effectors and bones to a
separate hierarchy of control objects (control rigs) so that they never You could also constrain the effector
to a curve with the Constrain >
animate the skeleton itself directly. Path command and animate it with
To help make keying easier, you can create a character key set that path animation.
contains all the translation parameters for the effector. Then you can The chain is solved in the same way
quickly key using this set. In a similar way, you can use the keying as if you keyed the effector’s
panel to key only the translation parameters that you have set as positions.
“keyable” for the effector.

Basics • 191
Section 10 • Character Animation

Basic Concepts for Inverse Kinematics You can change the joint’s preferred angle to get the correct skeleton
structure for the animation that you want to create. This solves the IK
There are two fundamental concepts you should understand when in a new way, affecting the movement of the whole chain. You can also
working in IK: the chain’s preferred angle and its resolution plane. reset a bone’s rotation to the value of its preferred rotation, which
When you draw a chain, you usually draw it with a bend to be able to resets the chain to its pose when you created it.
predict its behavior when using IK. This bend is called the chain’s With 2D chains, the preferred axis of a chain (the X axis, by default) is
preferred angle. When you move the effector, the chain’s built-in solver perpendicular to the plane in which Softimage tries to keep the chain
computes a solution that considers these angles and the effector’s when moving the effector. This plane is referred to as the general
position. orientation or resolution plane of a chain. It is in the space of this plane
that the IK system resolves the joints’ rotations when you move the
effector.

Preferred angle Resolution plane Constraining the chain to prevent flipping

Using an up-vector constraint for chains, you can


Chain is drawn with a slight bend
constrain the orientation of a chain to prevent it from
to determine its direction of
flipping when it crosses certain zones.
movement when using IK.
The up-vector constraint forces the Y axis of a chain to
This determines the
point to a constraining object so that the solver knows
preferred angle
exactly how to resolve the chain’s rotations.
of rotation for
each bone’s joint. You add up-vector constraints to the first bone of a
chain because that is the bone that determines the
resolution plane.

The resolution plane of this skeleton’s leg is shown


with a gray triangle, connecting the root, the effector,
and the knee joint. This plane is defined by the first
joint’s XY plane, and any joint rotations stay aligned First point Second point
with this plane. (joint 1 at (effector)
chain root)
When the first joint is rotated, the resolution plane
rotates accordingly, and all joint rotations remain on
the resulting resolution plane.

Third point
Resolution plane (a null constrained by an
(gray triangle) up-vector constraint)

192 • Softimage
Animating Characters with FK and IK

Blending between FK and IK Animation Solving the Dreaded Gimbal Lock


When you’re animating a skeleton, you may need to use both FK and When you’re setting up a character, you should consider how the bones
IK animation on the same chain. For example, you want to use IK to will be rotating for each body part so that you can choose the proper
have the hand grab at something, but to get a more convincing swing rotation order for them.
from the shoulder, you need to use FK.
While the default rotation order of XYZ works for some body parts,
In Softimage, it’s easy to blend between FK and IK using the Blend FK/ there are certain body parts or movements for which this order can
IK slider in the Kinematics Chain property editor. This slider controls cause gimbal lock. Gimbal lock is a state that Euler angles go through
the influence that IK and FK both have on a chain, smoothly blending when two rotation axes overlap. The angle values can change drastically
the results of bone rotation and effector translation. when rotations are interpolated through it.
By blending, you can animate with rotations to get a good “whip” When you change the rotation order, you can solve the gimbal lock.
effect (FK), and then blend in specific grabbing/punching/kicking You can change the order in which an object is rotated about its
(goal-oriented IK) movements, or mix goal-oriented movements (IK) parent’s axes by selecting a Rotation > Order in the bone’s Local
against motion capture data (FK). Transform > SRT property page (select the bone and press Ctrl+K).
You can also convert the rotation angles from Euler to quaternion
1 Animate the chain in FK (key the To help you see how the using the Animation > Convert to Quaternion command in the
bone’s rotation parameters), as well chain is blending, you can Animation panel. Quaternion rotation angles produce a smooth
as in IK (key the effector’s position). use ghosting. Ghosts are
interpolation which helps to prevent gimbal lock.
shown for the full FK and IK
Here, the blue ghost above the arm positions of the
shows the chain at full FK; the red chains.
ghost below the arm shows the
chain at full IK.

2 Drag the Blend FK/IK slider to set


the value you want between FK
(0) and IK (1). The chain
interpolates smoothly between its
IK and FK positions.

3 Set keys for the


Blend FK/IK values at the
appropriate frames where you
want the blend to start and
finish.

Basics • 193
Section 10 • Character Animation

Walkin’ the Walk Cycle


A walk cycle is probably the most common task you’re going to do as You can store the walk cycle in an action source, then bring that source
an animator. You can do this with traditional tools, such as keying and into the mixer to cycle it. Once in the mixer, you can reverse it, stretch
the fcurve editor, but Softimage provides other excellent tools to help it out or compress it to change the timing, cycle it, move it around in
you animate your character. These include all the tools shown in this time, mix it with other actions, and more—all in a nondestructive way.
section, as well as the animation mixer.

1 Key the position and rotation of the You can use rotoscoped images of models to act as a
character’s arms, legs, and hips on template from which you can base the character’s poses
one side of the body. Key the 5 basic to be keyed.
poses at frames 1, 5, 9, etc., or You’ll need to tweak your character’s walk afterward to
frames 1, 6, 11, depending on your make it look natural and appropriate for the character.
character’s stride.
Tip: It helps to make the arms and legs of the left and
The start and end poses must match right side in different colors. Here, the right leg and arm
so that the motion can be properly are in black.
cycled in the animation mixer.

4 Save the finished walk cycle in an action source


2 Repeat the same poses for the using the Action > Store > Fcurves command.
other side of the body on
frames 21, 25, 29, and 3 (the
first pose is the same as the last
5 Open the animation mixer, and load
pose of the side you just did).
the action source into it by right-
clicking on a green track and
choosing Insert Source.
This create an action clip for the walk
cycle on that track.

3 If the feet slide when they’re on the 6 Cycle the walk clip in the mixer by dragging one of the
ground, you can fix it by making the clip’s lower corners. You can also quicken or slow down
fcurve interpolation flat between the the walk pace, blend it with another action, or create a
pose keys. Open the animation (fcurve) transition to yet another action, such as to a run cycle.
editor, select the keys on the fcurves,
and choose Keys > Zero Slope Use the cid clip effect variable to add a progressive
Orientation. forward offset to a stationary cycle.

The fcurve editor is the tool to help you


fine-tune the walk’s fcurves in many
ways.

194 • Softimage
Motion Capture

Motion Capture
Motion captured animation (usually known as mocap) offers a way to Adding Offsets to Mocap Data
animate a character based on motion that is electronically gathered
from a human or animal. This is useful for animating actions that are It’s inevitable: the director took a look at the mocap animation for this
particularly difficult to do well with keyframing or other methods of character. It looks good but now he has some comments and wants to
animation creation. In Softimage, you can import mocap data and make a few changes. This can be problematic when the change affects a
apply it onto rigs, as well as retarget animation from BVH or C3D key pose or move because many other moves and poses are usually
mocap files to rigs. linked to it.

Club-bot with a mocap


Importing Acclaim and Biovision Mocap Data run action clip in the
animation mixer.
You can import motion capture information into Softimage using the
File > Import > Acclaim and Biovision commands. Once the files are
imported, you can constrain the skeletons to a rig and plot the mocap The left leg and arm are
data into fcurves so that you can edit the animation. rotated a bit and then keyed
as an offset to the clip.
Acclaim Skeleton files (ASF) contain information about the hierarchy
and base pose of the skeleton. The animation for this skeleton is saved
in an accompanying Acclaim Motion Capture (AMC) file. Biovision
(BVH) files contain information about the hierarchy of the skeleton.
Luckily, in Softimage you can easily add non-destructive offsets to
mocap data in any of these ways:
Mocap files with hierarchy
imported as bone chains. • Creating animation layers: Create a layer of keys as an offset to
mocap animation. Layers let you keyframe as you would normally,
but those keys are kept in a separate layer of animation so that they
don’t affect the base mocap animation. After you’ve added one or
more layers of keys and you’re happy with the results, you can
collapse the layers to “bake” them into the base layer of animation.
Mocap files with hierarchy • Mixing fcurves with an action clip: Normally, when there is an
imported as nulls. action clip in the mixer, it overrides any other animation on that
object that covers the same frames. However, you can blend fcurves
directly with an action clip over the same frames. This allows you to
blend mixer animation with scene level animation.

Basics • 195
Section 10 • Character Animation

• Creating action clip effects in the mixer. Clip effects let you adjust Retargeting Animation with MOTOR
the animation in an action clip without affecting the original
animation in the action source. Clip effects add values “on top” of a Retargeting allows you to transfer any type of animation between
clip, such as noise or offsets. characters, regardless of their size or proportions. Retargeting involves
first tagging (identifying) the elements of a rig, then transferring
animation from another rig or a mocap data file to the target rig. The
Working with High-density Fcurves
animation is retargeted to the new rig as it’s transferred. The retargeted
When you import motion capture data, the fcurves often have many animation is “live” on the rig, controlled by the retargeting operators
keys, usually one per frame. A high-density fcurve is difficult to edit that live on the tagged rig elements. Because of this, you can adjust the
because if you change even a few keys, you then have to adjust many animation on the rig at any time so that the motion is exactly as you
other keys to retain the overall shape of the curve. like. If you want to commit the retargeted animation to fcurves, you
can plot it on the rig.
Because editing these fcurves is not always easy, there are tools in the
fcurve editor that can help you work with them: the HLE (high-level While you can retarget any type of animation between characters, it is
editing) tool and the curve processing tools (for smoothing, especially useful for reusing motion capture data to animate many
resampling, and fitting curves). different characters with the same movements, such as you would for a
game. For example, you can reuse a basic run mocap file for many
characters and then adjust the animation for each one as you like by
The HLE tool in the fcurve editor lets you adding offsets in different animation layers. Using the retargeting and
shape an fcurve in an overall fashion, like layering tools in Softimage, you can quickly test out many variations of
lattices shaping an object’s geometry. animation on the characters.
The HLE tool creates a sculpting curve that Using the commands in the Tools > MOTOR menu on the Animate
has few keys (shown here in green), but
each one refers to a group of points on the toolbar, you can perform all of these tasks:
dense fcurve.
• Tag rig elements so that animation can be retargeted onto them.
• Retarget any type of animation from one rig to another.
• Retarget animation from BVH or C3D mocap files to a rig.
• Adjust the retargeted animation on the rig, such as by setting
position and rotation offsets for the whole rig or just certain
elements.
• Save any type of retargeted animation in a normalized motion
format (.motor file) so that it can be loaded and retargeted on any
tagged rig. This makes it easy to build up libraries of animation that
can be used across all your rigs.

196 • Softimage
Motion Capture

• Plot the retargeted animation on a rig into fcurves so that you can Before you start tagging the character elements or retargeting
keep and edit the animation. animation, make sure that the skeleton or rig is in a model. Retargeting
can work only within model structures.

Tagging a rig’s elements Retargeting animation between rigs


Tagging tells Softimage which part is When you retarget animation between rigs, the retargeting
which on your character, such as its hips, operator figures out which rig elements match based on their tags.
chest, legs, root, and so on. You tag the Then it maps and generates the animation that is transferred to the
rig controls or skeleton parts that you use target rig.
to animate the character. These tags are
used to create a map (template) for that The animation between the two
character. rigs is a live link that allows for
interaction.

Select a rig and choose the Tools > Select the source rig, then press
MOTOR > Tag Rig command to tag its Ctrl and select the target rig.
elements.
Then choose the Tools > MOTOR
Once you have tagged a rig, you can > Rig to Rig command to retarget
use it for retargeting with another rig or the animation from the source to
with mocap data. the target rig.
If you want to save the animation
on the target rig, you must plot
(bake) it into fcurves.

Retargeting mocap data from a file to a rig


You can retarget mocap data from either C3D or
BVH files to a tagged rig.

Choose the Tools > You can then save the mocap
MOTOR > Mocap to animation on the rig in a
Rig command to load .motor file so that you can
either a C3D or apply it to any tagged rig of
Biovision file and the same structure.
apply it to a rig in
Softimage.

Biovision rig
C3D rig

Basics • 197
Section 10 • Character Animation

Making Faces with Face Robot


Face Robot is a suite of tools that work together to help you easily rig To start out with Face Robot, you load in
and animate life-like human and humanoid faces, no matter what that a head model from the Face Robot
face may look like! layout’s Stage 1 panel. You then follow the
instructions on the first four stage panels
in Face Robot to create a solved head.
A solved head is one that has been
processed by Face Robot and contains all
the necessary objects and operators, as is
shown on the right.
Once the head is solved, you can move
freely between Stage 5 and Stage 6 to
animate and sculpt the face.
• Stage 1: Assemble: Load in a single
head model and possibly face parts
(such as eyeballs, teeth, and a
tongue). These need to be polygon
meshes.
• Stage 2: Pick: Identify each face part for Face Robot (head, eyeballs,
teeth, and an optional tongue). A visual guide on the panel helps
you through this process.
• Stage 3: Landmarks: Pick the landmark points on the face that tell
Face Robot lets you quickly set up a facial rig by taking you through
Face Robot the head’s size and proportions. A visual guide on the
several required stages. Once the facial rig is created, you can animate
panel helps you through this process.
the facial controls and sculpt and tune the soft facial tissue using Face
Robot-specific tools, as well as some standard Softimage ones. When • Stage 4: Fit: Make any adjustments to the facial controls that are
you’re done, you can export the Face Robot head in different ways, generated from the landmarks.
including as a games rig or a shape animation rig.
• Stage 5: Act: Set keyframes on the face’s animation controls or
Face Robot has its own interface layout and operators that are separate apply facial motion capture files (C3D) to them. You can retarget
from the rest of the Softimage interface layout. As a result, you need to the mocap, and also blend it with keyframes.
enable a special mode that opens the Face Robot layout and loads its
operators: choose Face Robot > Enable Face Robot from the main • Stage 6: Tune: Use different tools to adjust the deformation of the
menu at the top of the Softimage window. face’s soft tissue to achieve the range of facial expressions that your
character needs to make.

198 • Softimage
Making Faces with Face Robot

D
E

A Main menu bar contains all standard menu commands. This is the D Click this button to display/hide the Softimage main command
same as in the main Softimage interface. panel (MCP).

B The Face Robot panel gives you access to all six Face Robot stages E Click this button to display/hide the standard Softimage tool bars.
for completing your facial animation.

C Click this button to hide/display the Face Robot panel and enlarge
the viewport.

Basics • 199
Section 10 • Character Animation

200 • Softimage
Section 11

Shape Animation
Shape animation is the process of deforming an
object over time. You take “snapshots” called shape
keys of the object in different poses, then you blend
these poses over time to animate them.
Softimage offers a number of tools with which you
can create shape animation, allowing you to choose
the method that works for you.

What you’ll find in this section ...


• Different Tools for Animating Shapes
• Shape Animation on Clusters
• Using Construction Modes for Shape
Animation
• Creating and Animating Shapes in the Shape
Manager
• Selecting Target Shapes to Create Shape
Keys
• Storing and Applying Shape Keys
• Using the Animation Mixer for Shape
Animation
• Mixing the Weights of Shape Keys

Basics • 201
Section 11 • Shape Animation

Things are Shaping Up


With shape animation, you can change the shape of an object over Different Tools for Animating Shapes
time. To do this, you move the object’s clusters of points in different
Shape animation in Softimage uses the animation mixer under the
ways, then store shape keys for each pose of these clusters that you
hood to do its work. You can also use the animation mixer to do your
want.
shape work, but there are other methods too. You can:
You can create shape keys from any kind of deformation to produce
• Use the shape manager to easily create and animate shape keys.
shape animation. For example, you can store shape keys for clusters on
This is probably the fastest and easiest way to work.
an object by moving points or by deforming by spline, such as for facial
animation and lip-syncing. Or you can create a shape key for an • Create shape keys for a base object from a group of target shapes
object’s overall deformation using envelopes, lattices, or any of the (sometimes called morphing or blend shapes).
standard deform operators (Bend, Bulge, Twist, etc.).
• Store shape keys, then apply them at different frames.
In Softimage, all shape animation is done on clusters. This means that
you can have multiple clusters animated at the same time on the same You can use the animation mixer with any of these methods. It is a
object, such as a cluster for each eyebrow, one for the upper lip, one for powerful tool that gives you a high degree of flexibility in reworking
the lower lip, etc. Or you can treat a complete object as one cluster, your shape animation in a nonlinear way. Because shape animation is
such as a head, and store shape keys for it. essentially pose-based, you can easily reorder the poses in time, reuse
the same pose several times, and mix the poses together as you like, in
the animation mixer. You can even add audio clips to the mixer to
synchronize your shape animation to sound, such as for lip syncing.

Shape Animation and Models


Before you start to animate shapes, it’s a good idea to create a model
containing the object that is to be shape-animated. This puts the object
under its own Model node and creates a Mixer node for that model
that contains all its shape keys. This way, the shape keys are stored with
Shape animation is done for this face by simply moving the points in the model rather than just being in the entire scene.
different clusters on the head object, then storing a shape key for each
You can then reuse the model with
cluster’s pose.
its shape animation in another
You could also treat the whole head object as a cluster and deform its points scene, import and export the
in the same way, then store shape keys for each pose for the object.
model with all its shapes and mixer,
or duplicate the model with its
You can use surface or polygon objects to create shape animation, or
shape animation.
even curves, particles, and lattices—any geometry that has a static
number of points.

202 • Softimage
Things are Shaping Up

Shape Animation on Clusters Shape Sources and Clips


All shape animation is done on clusters. You can have multiple clusters on
the same object, or you can treat an object as one cluster. You can even A shape source is the shape that you have stored
store shape keys for tagged points that are not saved as a cluster. and is usually referred to as a shape key. By storing
several shapes for an object, you can build up a
library of sources. Shape sources are stored in the
model’s Mixer > Sources > Shape folder.
Whole object. A cluster
including all points on
head is automatically A shape clip is an instance of that source on a track in the
created when you store animation mixer. Even if you don’t use the mixer for shape
a shape key. animation, a clip is always created when you create a shape key.

Object with tagged


points. A cluster of these
points is automatically
Object with cluster created when you store a Shape Reference Modes
shape key.
Shape reference modes control how the
shape behaves when the base shape is
deformed in Modeling mode.
You should select a reference mode
before you store shape keys on a cluster.
Click the Clusters button on the Shape key on a single cluster
Select panel to see a list of the
object’s
clusters.

Always store shape keys using the same cluster of points. When you
deform an object, but store a shape key only for a cluster of points on
that object, the deformed points that don’t belong to that cluster snap
back to their original position when you change frames. Local Relative Mode Object Relative Absolute Mode
Shape deforms with Mode: Shape deforms Shape stays locked in
To make it easier to use the same cluster, give the cluster a descriptive object. with object but keeps place as object deforms.
name as soon as you create it. original orientation.

Basics • 203
Section 11 • Shape Animation

Using Construction Modes for Shape Animation


When you’re creating shapes, you can use any number of deformation To tell Softimage how you’re using the deformation, you need to select
operators, including envelopes, as the tools for sculpting the shapes. the correct construction mode: Modeling, Shape Modeling,
Because you can use these deformation operators for tasks other than Animation, or Secondary Shape. The mode puts the deformation
shape animation, you need to let Softimage know how you want to use operator in one of four regions in the object’s construction history that
them. For example, when you apply a deformation, you could be corresponds to that mode. These regions keep the construction history
building the object’s basic geometry (modeling), or creating a shape clean and well ordered by allowing you to classify operators according
key for use with shape animation (shape modeling), or creating an to how you want to use them.
animated deformation effect (animation).
Here is a quick overview of how you can use the four different
construction modes for doing shape animation:

1 In Modeling mode, create and


deform the object to be shape-
animated. If the object is to be an
2
This is the base shape for the envelope for a skeleton,
object, which is a result of all the switch to Animation mode
Select one of the four operators in the Modeling region and apply it as an envelope.
construction modes from of the object’s construction history. In this case, the jaw bone is
the list in the menu bar at rotated to help deform the
the top of the Softimage When you create shape keys, they
are stored as the difference of envelope for lip syncing.
window.
point positions from this base
shape’s geometry.

3 Switch to Shape Modeling mode to create shape keys. These


shape keys are set in reference to the object’s base shape (each
4 To fix any geometry problems
cluster is an offset from the base). due to the envelope’s animation,
switch to Secondary Shape
mode and create shape keys in
reference to the animated
envelope’s geometry.
Markers in the explorer divide up
the object’s construction history For example, you can fix up the
into regions that correspond to shape in the corner of the
the four construction modes. mouth in relation to the jaw
opening and deforming the
Deformation operators are kept
envelope.
in their appropriate region.

204 • Softimage
Creating and Animating Shapes in the Shape Manager

Creating and Animating Shapes in the Shape Manager


The shape manager provides you with an environment for creating, When you create a new shape in the shape manager, a shape key is
editing, and animating shapes. To help you work efficiently, the shape added to the object’s Mixer > Sources > Shape list and shape clips are
manager has a viewer that immediately displays the results of the created for the object in the animation mixer.
changes as you make them to the object.

1 Open the shape manager in a viewport or 3 Deform the object or 4 Repeat these two steps to create a library
2 Duplicate the shape of different shapes for this object.
in a floating window (choose View > and rename it. cluster into a new shape in
Animation > Shape Manager). the shape viewer.
With an object selected, select Shape or an
existing shape in the shape list.

6 Go to the next frame at which you want to set a key,


change the values of the weight sliders, and set
another key. Continue on in this manner.

5 On the Animate tab, set the


values of the shape weight
sliders until you get the
shape you want. Notice the
object update in the shape
viewer as you change the
slider values.
Set a key at this frame.

Basics • 205
Section 11 • Shape Animation

Selecting Target Shapes to Create Shape Keys


Selecting shape keys (also known as morphing or blend shapes) lets you Selecting target shapes sets up a relation between the base object and
deform an object using a series of objects that are deformed in different the shape keys, allowing to you fine-tune the target shapes and have
shapes (called target shapes). These objects must have the same type of those adjustments appear on the base object. For example, if your
geometry and the same topology (number and arrangement of points) client thinks that the nose is too long on one of the target shapes, all
as the base object that they’re shape-animating. The easiest way to do you have to do is change the nose for it and the nose on the base object
this is to duplicate the base object that you want to shape-animate, and is updated. You can also choose to break the relationship between the
then deform each of the copies in a different way that will correspond base object and its target shapes to keep performance optimal.
to a target shape.

1 Create the base 2 Duplicate the object 3 Select Shape Modeling Mode
object in a neutral and deform into from the Construction Mode
pose. This is the different shapes (target list.
object to be shape) such as for
deformed phonemes.
with the
target Move them out of the
shapes. way of the camera.

4 Select the base object and choose Deform To create the animation, set the values for each
6
> Shape > Select Shape Key. Then pick shape key’s weight slider in the animation
5 Label the first shape key created in the
each of the target shapes in the order that mixer or in the Shape Weights custom
Name text box, such as face. The other
you want to create parameter set.
shape keys use this name plus a number,
shape keys for the
such as face1, face2, etc.
object.
In either the mixer or the
For each target
parameter set, click the weight
shape you pick, a
slider’s animation icon to key
shape key is
this value at this frame.
added to the
model’s Mixer >
Sources >
Shape folder.

206 • Softimage
Storing and Applying Shape Keys

Storing and Applying Shape Keys


When you store and apply shape keys, you create a shape source in the You can then animate the shape weights in the Shape Weights custom
model’s Mixer > Sources > Shape folder, as well as a shape clip in the parameter set that is automatically created for you. This custom
animation mixer. parameter set contains a proxy of each shape key’s weight slider.
If you want to use the mixer for doing your shape animation, this is an You can also simply store shape keys and then apply them to the object
easy way to work because the clips are set up for you. In the mixer, you or cluster later. When you store shape keys, a shape key is created for
can then change the length of the clips, create transitions between clips, the current shape and added to the model’s list of shape sources, but it
change the weight of the clips, and so on. does not create a shape clip in the mixer. Storing shape keys is a good
way to build up a library of shapes: when you’re ready to apply the
If you don’t want to use the mixer, storing and applying shape keys is
shape keys, you can load them into the animation mixer to create shape
still an easy way to work because everything is set up “under the hood”
clips. Or if you don’t want to use the mixer, you can simply apply the
in the mixer for you.
shape keys to the object or cluster at different frames.

4 Deform the cluster or object into a


1 Select a cluster of points shape that you want to store, then
2 Select Shape Modeling Mode 3 Go to the frame at which you choose Deform > Shape > Store
or the whole object
from the Construction Mode want to set a shape key. and Apply Shape Key.
(creates one
list.
cluster for the
object).

When you store and apply, the shape key is


applied to the cluster or object at the
current frame. A shape clip for this shape
key is also created in the animation mixer.

6 You can edit the shape animation in the mixer. You


can resize and layer the clips, and add transitions
5 Go to the next frame at between the clips for a smooth change
which you want to set a between shapes.
shape key, deform the cluster
or object, and store and apply You can also animate the weight of each
another shape key. shape clip against each other in the mixer
or in the Shape
Weights custom
parameter set.

Basics • 207
Section 11 • Shape Animation

Using the Animation Mixer for Shape Animation


Once you have created shape keys, you can use the animation mixer to Shape clips do not actually contain animation—they are simply static
sequence and mix them as shape clips. This lets you easily move shape poses. This is why you need to create transitions between them and/or
clips around in a nonlinear way and change the weighting between two weight their shapes against each other to animate. Transitions create
or more clips where they overlap in time. smooth and more complex animation than is possible with shape keys
simply set at different frames with no transitions or weighting.
The first step to using shape keys in the mixer is to add them as shape
clips to a shape track. If you stored and applied shape keys or selected Once you have added shape clips to the animation mixer, you can use
shape keys, this is automatically done for you. any of the mixer’s features to move, reorder, copy, scale, trim, and
blend them.

Notice how the shape interpolates over time, from clip to clip.
To add a shape key as a clip to a track in the
mixer, right-click on a blue shape track and
choose Insert Source, then pick the source
(shape key) you’ve stored.
You can also drag a shape key from the
model’s Mixer > Sources > Shapes
folder in the explorer and drop it on a
blue shape track.

You can make composite shapes


by creating compound clips for You can easily reorder the shape clips in time on the tracks, or duplicate a
different clusters on the same clip to repeat a shape several times over the animation. Because each shape
frames of different tracks. clip refers to the source, you don’t need to duplicate the source.

For example, one compound clip


could drive the eyebrow cluster Create sequence of shapes by creating clips one after another using
of a character while another clip transitions to help smooth the spaces between them.
drives the mouth cluster.

208 • Softimage
Mixing the Weights of Shape Keys

Mixing the Weights of Shape Keys


Shape clips don’t contain any animation—they are simply static poses. No matter which tool you use, the basic process is the same: go to the
As a result, one way to create animation with shapes is to animate the frame you want, set each shape weight’s value, then click the keyframe
weight of each shape. Weighting is always done in relation to another or animation icon to set a key. You can then edit the resulting weight
shape key. This means that shape keys have to be overlapping in time fcurve in the animation editor as you would any other fcurve.
with at least one other shape key to be weighted.
The higher the weight value, the more strongly a clip contributes to the
combined animation. For example, if you set the weight’s value to 1, How to Mix and Key Action Weights in the Mixer
the clip’s contribution to the animation is 100% of its weight.
1 Put clips on different
You can mix shape key weights in different ways, depending on how 2 Move to the frame at which you
tracks and overlap
want to set a key.
you created the shape keys in the first place and on how you like to them where you want
work. You can mix shape key weights: to mix them.
In most cases, this is 3 Set a weight value for
• Using the shape manager. for the whole duration each clip at this frame.
of the scene.
• Using the animation mixer.
Red curves in the clip
• Using a custom parameter set, either the Shape Weights one or one display its weight values.
you set up yourself.
4 Click each weight’s
The advantage of having a custom control panel is that you can animation icon to set
have all the sliders in one property editor that you can easily move a key for this value at
around in the workspace. As well, you can key all the sliders’ values this frame.
at once by clicking the property set’s keyframe icon.
Click the Shape Weights icon beneath the shape-animated object in 5 After you are done setting keys for the weights, you can edit the
the explorer to open the custom parameter set. resulting weight fcurves. Right-click the weight’s animation icon
and choose Animation Editor.

Basics • 209
Section 11 • Shape Animation

Normalized or Additive Weighting


One of the most important things to understand about weighting is to
know whether weights are normalized (averaged) or additive. You can
control how the weights of clips are combined, depending on whether
or not you select the Normalize option in the Mixer Properties.
You’ll know that shapes are normalized if they seem to average or
“smooth” each other out, or if different clusters on the same object
affect each other when they shouldn’t (such as an eyebrow affecting the
mouth shape). You may want to use the normalized mode if you’re
mixing together shapes for a whole object.
In many cases, you will probably want the weight to be additive instead
of normalized, such as if you’re mixing different clusters on one face
over the same frames. This adds the shapes together but doesn’t
“blend” them together.

Additive mix of Shapes 1 and 2. The


shapes are literally added together to
create a composite result. You can also
exaggerate shapes by setting weight
values higher than 1.

+ = or
Shape 1 Shape 2

Normalized mix of Shapes 1 and 2. The


shapes are averaged resulting in a
combination of the shapes. The total
weight value of the two shapes equals 1.

210 • Softimage
Section 12

Actions and the


Animation Mixer
Actions are “packages” of low-level animation, such
as function curves, expressions, constraints, and
linked parameters. By creating a package that
represents the animation, you can work at a higher
level of animation that is not restricted by time.
The animation mixer is the tool that lets you work
with actions, all in a nonlinear and non-destructive
way.

What you’ll find in this section ...


• What Is Nonlinear Animation?
• The Animation Mixer
• Storing Animation in Action Sources
• Working with Clips in the Animation Mixer
• Mixing the Weights of Action Clips
• Modifying and Offsetting Action Clips
• Sharing Animation between Models
• Adding Audio to the Mix

Basics • 211
Section 12 • Actions and the Animation Mixer

What Is Nonlinear Animation?


Nonlinear animation is a way of animating that does not restrict you to If you’re modifying someone else’s animation, you don’t really have to
a fixed time frame. You store animation into a package called an action deconstruct their work—just add a layer with your own animation.
source, then load this package in the animation mixer. In the mixer, you You can even modify the existing animation with a clip effect, acting as
can layer and mix the animation sequences at a higher level in a a separate and removable layer on top of the original animation.
nonlinear and non-destructive way. You can reuse and fine-tune
animation you’ve created with keyframes, expressions, constraints, and Models and the Mixer
shape animation (shape keys stored in shape sources). You can even
add audio clips to the mixer to help synchronize it with the animation. Models provide a way of organizing the objects in a scene, like a mini
And at any time, you can go back and modify the animation data at the scene. You should always put your object structures within a model so
lower levels, without needing to begin again and redo all your work. that you have a Mixer node for it, because each model can have only
one Mixer node. This node contains mixer data, such as action sources,
When you bring an action source into the animation mixer, it becomes mixer tracks, clips, transitions, and compounds.
a clip. In the mixer, you can move an action clip around anywhere in
time, squeeze or stretch its length as you like, apply one action after If the characters in the scene aren’t within models, you have only one
another in sequences, and combine two or more actions together to Mixer node for the whole scene (in the Scene Root) which means that
create a new animation. On the frames “covered” by the clip, the data you can’t easily copy animation from one model to another.
stored in the source drives the object’s animation.
Club_bot model structure contains
many elements, including a Mixer
node that has its action sources.

The animation mixer is well-suited for editing existing material and There are a number of ways in which you can share animation between
bringing together all the pieces of an animation. In it, you can assemble models, whether they are in the same scene or different scenes. You can
all the bits and pieces you’ve imported from different scenes and copy action sources, clips, compound clips, and even a model’s whole
models to help you build them into a final animation. Mixer node between models. And when you duplicate a model, all
sources and clips and mixer information are also duplicated.

212 • Softimage
The Animation Mixer

The Animation Mixer


The animation mixer gives you high-level control over animation Each action clip is an instance of its action source. The original
because you can layer and mix sequences in a nonlinear and non- animation data stays untouched, making it easy to experiment with the
destructive way, making it the ideal tool to use for complex animation. animation without fear of destroying anything. You can always go back
The animation mixer looks like a digital video editor, but instead of and change the original data and all your changes will automatically be
editing video sequences, you create animation sequences, transitions, applied; or you can add animation on top of the original animation
and mixes. It helps you reuse and fine-tune animation you’ve created source, as you may want to do with motion capture data.
with keyframes, expressions, and constraints.
On the frames “covered” by the clip, the data stored in the source drives
You can use the animation mixer with animation data (action sources), the animation for the object. The mixer overrides any other animation
shape animation data (shape keys as shape sources), and add audio that is on the object at that frame, unless you set a special option that
files for synchronization. Once you have a library of action sources mixes an action clip with fcurves on the object over the same frames.
created, you bring them into the mixer as action clips.
Multiple tracks let you The playback cursor
Icons indicate the type of track overlap clips in time shows the current
You can display the animation mixer and let you select the track. and mix their weights. frame on the timeline.
in any viewport, or display it in a
floating window by pressing Alt+0
(zero).
Select an object, then click the
Update icon in the mixer to see its
tracks and clips.

Tracks are the background on


which you add and sequence clips
in the mixer. You can sequence one
clip after another on the same track
or different tracks. To overlap clips
in time for mixing, they must be on
separate tracks. You can ripple, mute, solo, Clips appear as colored bars according to Mix overlapping clips by setting
and ghost all clips on a track. their type. Create sequences of clips on the and animating their weight values
same track or on different tracks. in the weight panel.
Animation (action) tracks
are green.
To add a track, press Shift+A, Shift+S, or Shift+U to add animation
Shape tracks are blue. (action), shape, or audio tracks, respectively.
Audio tracks are sand. You can also choose a type from the Track menu.

Basics • 213
Section 12 • Actions and the Animation Mixer

Storing Animation in Action Sources


Action sources are packages of animation that you can use in the When you create an action source, it is saved in the Sources > model
animation mixer. This is where the animation lives. You can package folder for the scene, which you can find in the explorer. This lets you see
function curves, expressions, constraints, and linked parameters into a all sources for all models in the scene. However, for convenience, a copy
source, as well as rigid body or ICE simulations. You can create an entire of the source is available in the model’s Mixer > Sources > Animation
library of actions, like walk cycles or jumps, and then share them among folder. The name of this source is in italics to indicate that it’s a copy of
any number of models. the original source.

How to Create Action Sources and Clips


2 Select the animated object and choose
an appropriate command from the
1 Animate an object or model. Each
animation sequence here will be Actions > Store menu. This stores the
stored in its own source. animation in an action source.

3 Right-click on a track and choose


Insert Source. An action clip is
created.
You can also drag a source from
the model’s Sources folder in the
Arm wave Step and look Ground jimmy explorer and drop it on a track.

4 Once the clip is in the mixer, you


can manipulate it in many ways.
Here are some ideas ...

You can use the mixer as a simple


You can composite actions by sequencing tool that lets you position and
adding clips for different scale multiple clips on a single track.
parameters on the same frames You may find the technique of pose-to-
of different tracks. pose animation using the mixer easy to do
Here, the top clip drives the legs by saving static poses of a character,
of the character while the loading the actions onto the tracks in
bottom clip drives the arms. sequence, and then creating transitions
between the poses.

214 • Softimage
Storing Animation in Action Sources

Changing What’s in an Action Source If you want to modify an action clip without affecting the
After you have created an action source, you can modify the original source, you must use clip effects.
animation data stored in its source, remove items from it, or even add
keys to fcurves in the source. When you modify the source, you change Restoring the Original Animation to an Object
the animation for all action clips that were created from that source
and refer to it. You can return to the original animation stored in an action source at
any time by applying that action source to the object. This is useful if
Because editing an action source is destructive (you’re changing the you removed the animation when you created an action source, or you
original animation data), you should always make a backup copy of it can also apply the animation in the source to another model.
before editing. This is also useful to do if you don’t want all action clips
to share the same source (duplicate the source before creating clips To apply the action source to a model, you simply select the source in
from it). the model’s Mixer > Sources > Animation folder in the explorer and
choose the Actions > Apply > Action command.
You can access the animation data in an action source by right-clicking
an action clip and choosing Source, or right-click and choose
Animation Editor to access the source’s fcurves.

You can also deactivate or remove


certain parameters in the source.

Select the action source


Click this button to in the model’s Mixer >
access the source’s Sources > Animation
fcurves or node, then choose the
constraints Actions > Apply >
(depending on the Action command to
type of animation restore it to that object.
in the source)

Creating Action Sources from Clips


Because applying works only on sources, you can’t use it on clips. But
what do you do when you want to combine some clips? You can select
If expressions are stored in the source, enter
information in a Value cell to edit them. the clips and choose Clip > Freeze to New Source or Clip > Merge to
New Source in the mixer to create a new source. You can then apply
this new source to the model with the Actions > Apply > Action
To add keys to a source, use the Action Key command.
button in the mixer’s command bar.

Basics • 215
Section 12 • Actions and the Animation Mixer

Working with Clips in the Animation Mixer


Clips are instances of action sources that you have created. While Clips are represented by boxes on tracks in the mixer that you can
sources contain data such as function curves, clips don’t actually move, scale, copy, trim, cycle, bounce, etc. Clips define the range of
contain any animation: they simply reference the animation in the frames over which the animation items in the source are active and play
source and wrap it with timing information. You can create multiple back. You can also create compound clips which are a way of packaging
clips from the same source and modify the clips independently of each multiple clips together so that you can work with larger amounts of
other without affecting the animation data in the source. animation data more easily.

To add a clip to a track in the mixer, Select and move clips Select and drag a clip to move it somewhere
right-click on a track and choose else on the same track or a different track of
Insert Source, then pick the source the same type (action, shape, or audio).
Select only
you’ve stored.
You can also drag a source
from the model’s Sources
folder in the explorer and
drop it on a track in the
mixer. Press Ctrl while dragging the clip to
copy it. You can copy clips between
different models’ mixers this way, one
clip at a time.
Drag on either of the clip’s upper
corners to hold the clip’s first or last
frames for any number of frames.

Drag on either of the clip’s


Click and drag in the middle of lower corners to cycle it.
either end of a clip to scale it.
Press Ctrl+drag on either of the
clip’s lower corners to bounce it. Add markers to clips and add
information to a clip, such as to
Transitions interpolate from one clip to the next, making the animation flow synchronize action or shape clips
smoothly between clips rather than jerk suddenly at the start of the next clip. with audio clips.

If you’re working in a pose-to-pose method of animation using pose-based action


clips, you need to use transitions to
prevent a blocky-looking animation.

Create thumbnails for each clip to help


quickly identify what’s in them.

216 • Softimage
Mixing the Weights of Action Clips

Mixing the Weights of Action Clips


One of the most powerful features of the animation mixer is its ability resulting animation. The higher the mix weight, the more strongly a
to mix the weight of clips against each other. When two or more clips clip contributes to the animation. Mixing compound clips is an easy
overlap in time and drive the same objects, you can mix them by way to blend animation at an even higher level.
setting their weights. By adjusting the weight of a clip, you can control
You can set keys on each clip’s weight to animate the changes. When
how much of an influence it has compared to the other clips in the
the weight is animated, a weight fcurve is created that you can adjust
like any other fcurve.

How to Mix and Key Action Clip Weights


2 Move to the frame at which you
want to set a key.
1 Put clips on different
tracks and overlap them
where you want to mix 3 Set a weight value for Red curves on the clip
them. each clip at this frame. display its weight values.
This can also be for the
duration of the scene.
4 Click each weight’s
animation icon to
set a key for this
value at this frame.
For the club-bot here, an
arm wave action is being
mixed with a dejected
You can also create a custom
turn action.
parameter set, then drag
and drop the animation icons
from each action clip weight
in the mixer into the
You can control how the weights of clips are combined parameter set to make proxies
using the Normalize option in the Mixer Properties: of those weight sliders.
• When Normalize is on, the weight values of the separate
clips are averaged out. This is useful if you’re blending
similar actions, such as two leg actions of a character.
• When Normalize is off, mixes are additive meaning that 5 After you’re done setting keys for the
the weight values of the separate clips are added on top weights, you can edit the resulting
of each other. This is useful if you’re weighting dissimilar weight fcurves.
actions against each other, such as weighting arm and leg Right-click the weight’s animation icon
actions of a character. and choose Animation Editor.

Basics • 217
Section 12 • Actions and the Animation Mixer

Mixing Fcurves with Action Clips Modifying and Offsetting Action Clips
Normally, when there is an action clip in the mixer, it overrides any If you want to modify an action clip that contains animation data from
other animation on that object that covers the same frames. However, fcurves, you can create a clip effect. A clip effect is a package of any
by selecting the Mix Current Animation option in the Mixer Properties number of variables and functions that you use to modify the data in
editor, you can blend fcurves on the object directly with an action clip the action source. Each clip effect is an independent package,
over the same frames. associated with its action clip, and sits “on top” of the clip’s original
For example, you can paste a clip in the mixer that contains the final action source animation without touching it.
animation for an object, then you can blend it with other fcurve Because the effect is an independent unit, you can easily activate or
animation you have added to that object, such as a slight offset or a deactivate it, allowing you to toggle between the clip’s original
minor adjustment to a mocap clip. animation and the animation modifications in the clip effect. This
Being able to mix clips directly with fcurves means that you can easily makes it easy to test out changes to your animation.
create animation using the mixer, as well as using it for blending and You may need to edit a clip’s animation for a number of reasons:
tweaking final animations. You can keep manipulating and setting keys
for the animated object and not have to make its animation into a clip • Add a progressive offset (using the cid variable) to a stationary walk
to blend it with another clip. cycle so that a character moves forward with each cycle.
• Animation coming from a library of stored actions often needs to
Club-bot with a run be modified to fit a particular goal or environment. For example,
action clip active in the you have a walk cycle, but the character must now step over an
animation mixer.
obstacle, so you have to move the leg over the obstacle.

Open the Mixer Properties editor and select • Animation that was originally created or captured for a given
Mix Current Animation. Then adjust the leg character must be applied to a different character that has different
and arm a bit (as below right) and key it. proportions.
The Mix Weight value determines how much • Animation with numerous keys, such as motion capture
influence the fcurve animation has over the
animation in the clip. animation, must be adjusted, but you don’t want to touch the
original animation because it can be difficult to edit.
Key this parameter to blend the fcurves in and
out of the action clips.
Moving a key point in
a mocap fcurve
results in a peak in
the curve.

218 • Softimage
Modifying and Offsetting Action Clips

How to Add a Clip Effect to a Clip Offsetting Clip Values


Offsetting actions is a task that you will probably perform frequently.
1 Right-click an action clip and This lets you move an object in local space so that its animation occurs
choose Clip Properties. in a different location from where it was originally defined.
2 In the Instanced Action
property editor, click the Clip 3 Enter formulas for any item’s
Item Information tab. expression to create a clip effect. Leg effector is translated
to a position where
Club-bot is just about to
Original position on kick the ball and an
left with foot in ball. offset key is set.

To offset a clip’s values, you can:


4 The clip effect is created and
displayed as a yellow bar • Click the Offset Map button in the mixer’s command bar.
above the clip.
• Choose the Set Offset Map - Changed Parameters command which
compares the current value of all parameters driven by the clip and
The cid variable in a clip effect is the cycle ID number. sets an offset if there is a difference.
The cycle ID can be used to progressively offset a
parameter in an action, such as for having a walk
• Choose the Effect > Set Offset Keys - Marked Parameters, which is
cycle move forward. The Cycle ID of the current the same as creating a clip effect, except that the clip effect’s offset
frame is in the Time Control property editor (select expression is created for you.
the clip and press Ctrl+T).
• Choose the Set Pose Offset command to offset all transformations
For example, with a clip effect expression like (scaling, rotation, and translation). All parameters to be offset are
(cid * 10) + this
the parameter value of the calculated together as a whole instead of as independent entities.
action is used for the duration The pose offset is especially useful for offsetting an object’s
of the original clip, then 10 is rotation, as well as position. As with clip effects, pose offsets sit “on
added for the first cycle, 20 is top” of a clip’s animation.
added for the second cycle,
and so on.

Basics • 219
Section 12 • Actions and the Animation Mixer

Changing Time Relationships (Timewarps) Sharing Animation between Models


A timewarp basically defines the speed of the animation in a clip. One of the great things about actions is that you can use them again
Timewarps change the relationship between the local time of the clip and again. You can create an action for one model and then use it again
and the time of its parent (either a compound clip or the entire scene) to animate another model in the same or another scene. You can even
while taking into account other things like scales, cycles etc. You can use the same action for different objects within the same model.
make a clip speed up, slow down, and reverse itself in a nonlinear way
(such as making a character run or walk backwards).

These two models can share actions easily


When you apply a timewarp to a compound clip, it creates an overall because they have similar hierarchies.
effect that encompasses all clips that are contained within the
compound clip. There are a number of ways in which you can share animation between
models, whether they are in the same scene or a different scene:
If your clip is cycled or bounced, the timewarp can either be repeated on
each cycle or bounce or encompass the duration of the whole • Copy action sources and compound sources between models in the
extrapolated clip (the warp is not repeated with each cycle or bounce). same scene.
This means, for example, that the overall animation on a cycled clip
• Copy action clips and compound clips (which lets you combine a
could increase in speed with each cycle.
number of clips non-destructively) between models.
You can apply a timewarp by right-clicking a clip and choosing Time
• Save an action source as a preset to copy action sources between
Properties, or by selecting a clip and pressing Ctrl+T. The Warp page is
models in different scenes.
home to both the Do Warp and Clip Warp options. Use the Clip Warp
option for applying a warp over an extrapolated clip to warp its overall • Create an external action source in a separate file in different
animation. formats (.xsi or .eani) to be used in other Softimage scenes.
• Import and export action sources in different file formats to be
used in other scenes or other software packages.
• Import and export a model’s animation mixer as a preset
(.xsimixer) to copy it to models in the same scene or another scene.

220 • Softimage
Sharing Animation between Models

Copying Action Sources between Models You can also create connection-mapping templates to specify the
proper connections between models before you copy action sources
If you want to share an action source between models in the same between models. These templates set up rules for mapping the object
scene, you can drag-and-drop one from the model’s Mixer > Sources > and parameter names stored in the action sources, such as when
Animation folder in the explorer onto the mixer of another model. similar elements have with different naming schemes, such as L_ARM
This makes a copy of that action source for the model. and LeftArm.
To copy compound sources between models, press Ctrl while you drag To create a connection-mapping template, open the animation mixer
the compound action source from the model’s Mixer > Sources > and choose Effect > Create Empty Connection Template. A template is
Animation to a track in the other model’s mixer. created for the current model and the Connection Map property editor
opens. Once you have created an empty connection-mapping template,
1 Open the animation mixer for the model to which you want to you can add and modify the rules as you like.
copy the action source (the target).

2 Open an explorer and expand the Model node for the model from
which you want to copy the action source (the original).

3 Drag a source from the original model’s Mixer > Sources >
Animation folder in the explorer and drop it on a track in the
animation mixer of the target model. Jaiqua’s (on the left)
elements are mapped
to the corresponding
ones on the Club-bot
using a connection-
mapping template.
This is set up before
action sources are
shared between them.
Mapping Model Elements for Sharing
Sharing actions is possible because each model has its own namespace.
This means that each object in a single model’s hierarchy must have a
unique name, but objects in different models can have the same name.
For example, if an action contains animation for Bob’s left_arm, you
can apply the action to Biff ’s model and it automatically connects to
Biff ’s left_arm element.
If the names for some of the objects and parameter names in the source
don’t match when you’re copying sources between models, the Action
Connection Resolution dialog box opens up in which you can resolve
how the object or parameters are mapped.

Basics • 221
Section 12 • Actions and the Animation Mixer

Adding Audio to the Mix


You can add audio files to your scenes using the animation mixer. This Sound files are added as audio clips on tracks in the animation mixer in
allows you to adjust the timing of your animations by using the sound the same way that you load action and shape sources as clips on tracks.
as a reference. For example, you can use an audio file as reference for Once you have an audio clip in the mixer, you can move it along the
lip syncing with a shape-animated face, or sync up some special effect track, copy it, scale it, add markers to it, mute, and solo it.
noise with an animation. Or you could load an audio file to do some
The following process shows how you can easily load and play sound
previsualization or storyboarding as you’re experimenting with your
files in the animation mixer.
animation project.
How to Synchronize Audio with Animation 2 In the Playback panel, click the All button so that Toggle the sound on and
RT (real-time playback) is active. off by clicking the
1 Load an audio source file on an audio track in the animation headphones icon.
mixer to create an audio clip. To do this, right-click a tan-colored Play the audio clip using the regular playback
audio track and choose Load Source from File. controls below the timeline, including scrubbing in
the timeline and
looping.
On Muted

4 Adjust the animation of the character (such


3 Markers let you as facial animation) to match the marked
delimit different audio waveforms.
portions of the audio
clip and give their To help do this, you can view the audio
wave patterns a waveform in the timeline or the fcurve
corresponding meaningful editor to sync with the animation.
name to help you synchronize
more easily with the animation. Or you can create a
flipbook to preview
Move the playback cursor to the the animation with
portion of audio wave you want audio.
to mark. Create markers with
the Create Marker tool in the
mixer by pressing the M key,
then dragging over a range of
frames on the clip.
5 When you’re satisfied with the results, do a
final render and use an editing suite to add
the sound to the final animation.

222 • Softimage
Section 13

Simulation
Imagine a scene with an alien climbing out of her
space ship: it has just crashed to the ground after
breaking through fence posts like match sticks,
smoke streaming out of the engine. As she stares at
the burning rubble that was once her home in the
skies, a single tear rolls down her cheek. She
stumbles through a raging snow storm, the
howling wind whipping through her hair and
tearing at her cape.
You can use all the simulation powers in Softimage
to create your own compelling scenes—all the
tools are there for you.

What you’ll find in this section ...


• Simulated Effects
• Making Things Move with Forces
• Hair and Fur
• Rigid Body Dynamics
• Soft Body Dynamics
• Cloth Dynamics

Basics • 223
Section 13 • Simulation

Simulated Effects About Particles in Softimage


In Softimage, you can simulate almost any kind of natural, or The Particles, Fluid, and Explode operators that existed in Softimage
unnatural, phenomena you can think of. To simulate these for many versions (now referred to as legacy particles) have been
phenomena, you must first make objects into rigid bodies, soft bodies, removed from Softimage to make room for ICE particles.
or cloth, generate hair from an emitter, or create ICE particles. Only If you’re used to working with the legacy particle system, you’re going
these types of objects can be influenced by forces and collisions to to recognize some of the same concepts and features in ICE particles,
create simulations. but that’s where it ends. Everything for ICE particles works in a
Forces make simulated objects move and add realism. As well, you can completely different system.
create collisions using any type and number of obstacles for any type of ICE (Interactive Creative Environment) is a visual programming
simulated object. environment designed to easily create particle effects, and much more,
by connecting data nodes together to create an ICE tree. You may find
the learning curve for using the ICE tree a little steep at first, depending
Hair on what you want to do and what your technical level is, but soon
Particles you’ll find yourself connecting nodes together like a pro!
For information, see ICE: The Interactive Creative Environment on
page 241 and ICE Particles on page 271.

Cloth

Particles

Rigid bodies

224 • Softimage
Making Things Move with Forces

Making Things Move with Forces


Forces make simulated objects move according to different types of To use forces on ICE particles, see Forces and ICE Simulations on
forces in nature. Each force in Softimage has a control object that you page 250.
can select, translate, rotate, and scale like any other object in a scene.
For example, you can animate the rotation of a fan’s control object to Types of Forces
create the effect of a classic oscillating fan. Scaling a force’s control
object changes its strength as well as its size. You can use any of these forces with hair, ICE particles, and rigid
bodies, but not all forces work with soft body or cloth.
Each simulated object can have multiple natural forces applied to it,
and the same force can be applied to any number of simulated objects. Gravity applies a force that defines an acceleration over time. To get
A the correct gravitational behavior from simulated objects, their size
Creating and Applying a Force must be taken into consideration.

You can apply a force to hair, soft bodies, and cloth as described below. The Fan creates a “local” effect of wind blowing through a cylinder so
B
that everything inside the cylinder is affected.

3 An Eddy force simulates the effect of a vacuum or local turbulence by


C
1 2 creating a vortex force field inside a cylinder.

The Drag force opposes the movement of simulated objects, as if they


D
were in a fluid.

E The Vortex simulates a spiralling, swirling movement.

The Wind is a directional force with velocity and strength. It generates


F
a force that speeds up simulated objects to a target velocity.
1. Select the hair, cloth, or soft body object to which you want to
The Turbulence force builds a wind field to let you imitate turbulence
apply the force. G effects, such as the violent gusts of air that occur when an airplane
2. Create a force from the Get > Force menu on the Simulate toolbar. lands.

3. The force is automatically applied to the selected object. The Toric force simulates the effect of a vacuum or local turbulence by
H
creating a vortex force field inside a torus.
You could also select the hair object and apply an existing force to it by
The Attractor force attracts or repels simulated objects much like a
choosing Modify > Environment > Apply Force on the Hair toolbar, or I
magnet attracts/repels iron filings.
select the cloth/soft body object and choose Cloth/Soft Body > Modify
> Apply Force on the Simulate toolbar.
For rigid bodies, the process is simpler: simply create a force from the
Get > Force menu and it is applied to all rigid bodies in the current
simulation environment.

Basics • 225
Section 13 • Simulation

Types of Forces C

D
B

F G

226 • Softimage
Hair and Fur

Hair and Fur


In Softimage you can make all sorts of hairy and furry things—from
Overview of Growing and Grooming Hair
Lady Godiva to wolves, bears, and grass. Hair in Softimage is a fully
integrated hair generator that interacts with other elements in the
1 Emit hair from an object, 2 Style the guide hairs using tools
scene. If you apply dynamics to the hair, the dynamics operator cluster, or curves. on the Hair toolbar.
calculates the movement of the hair according to the velocity of the
emitter object and any forces that are applied to the hair object.
Hair comes with a set of styling tools that allow you to groom and style
the hair, almost as easily as if it was on your head. You can control the
styling hairs one at a time, or grab many and style in an overall way.
To control the rendered look, you can use two special shaders designed
for hair, or you can use any other Softimage shader with hair. And as
with all things rendered in Softimage, you can use the render region to
preview accurate results.
3 View and set up how the 4 Apply dynamics to have hair
Hair is represented by two types of hairs: guide hairs and render hairs. render hairs look. respond to movement, forces,
Guide hairs are segmented curves that are used for styling, while render and collision.
hairs are the “filler” hairs that are generated from and interpolated
between the guide hairs. Render hairs are the only hairs that are
actually rendered.

The render hairs are


interpolated
between the guide
5 Select obstacles for hair
hairs—these are the
collisions.
hairs that are
rendered. 6 Adjust the default hair shader or
apply another one to the hair.
Guide hairs shown
in white (selected).
These are the hairs
that you style.

Basics • 227
Section 13 • Simulation

Basic Grooming 101 Because guide hairs are actual geometry, you can use all of the standard
Deformation tools on them to come up with some groovy hairdos!
When you’re styling, you always work with the guide hairs: these are the Lattices, envelopes, deform by cluster center, randomize, and deform
hairs that are similar to and behave like segmented IK chains. In fact, by volume usually produce the best results. However, if you animate
the you can grab a hair tip and position it the same way as you would the deformations, you cannot then use dynamics on the hair.
the effector on an IK chain.
Use the Brush tool to sculpt hairs with a
natural falloff, like proportional modeling. Translate and rotate specific
You can find all styling tools on the Comb the hair in the desired tips or points of hair.
Hair toolbar (press Ctrl+2). direction, such as in the negative
Y direction. Maybe use Puff to
give some lift at the roots.
Select tips, points, or entire strands
of hair to style in any way. Here,
just the tips of some hair strands
are selected.

Use the Clump tool to bring Change the length of the guide hairs
When you use a styling tool after using the Cut tool or the Scale tool.
hair strands or points
selecting Tip, press Alt+spacebar to
together or fan them out.
return to the Tip selection tool.

Copy the style to another hair object.

You can
deform the
shape of the hair
using any deformation tool, like a lattice.
To have smoother animation, activate
Stretchy mode to allow the hair segments to
stretch along with the deformation.

228 • Softimage
Hair and Fur

Making Hair Move with Dynamics Getting the Look with Render Hairs
When you apply dynamics to hair, you make it possible for the hair to The render hairs are the “filler” hairs that are generated from and
move according to the velocity of the hair emitter object, like long hair interpolated between the guide hairs. And as their name implies,
whipping around as a character turns her head quickly. The dynamics render hairs are the hairs that are actually rendered. You can change the
calculations also take into account any forces applied to hair, such as look of a hair style quite a lot by modifying the render hairs.
gravity or wind, as well as any collisions of the hair with obstacles.
Set the number of render hairs to be
You can also use dynamics as a styling tool by freezing the hair when it’s rendered, then decide which percentage of this
at a state that you like. For example, apply dynamics, apply some wind value you want to display. To work quickly,
to the hair, then freeze the hair when it has that wind-swept look. display a low percentage, then display the full
amount of hair for the final render.

How to apply dynamics to hair


Set the render hair
1 Select the hair and choose Create root and tip thickness
> Dynamics on the Hair toolbar. separately.

2 Play through the simulation—you


may want to loop it.
Add kink, waves, and frizz to
Animate the hair emitter object’s render hairs to change their shape.
3
translation or rotation, or apply a
force to the hair to make it move.

4 Adjust the hair’s Stiffness, Wiggle,


and Dampening parameters, if 5 Set the Cache to Read&Write,
necessary. then play the simulation to Change the number of segments to
cache it to a file for faster change the hair’s resolution. Use a
playback and scrubbing. higher amount for curly or wavy hair.

Caching also helps for more


consistent rendering results.

Set the hair’s density according to a


weight or texture map so that you can
Tip: Click the Style button on the create some bald spots or sparser growth.
Hair toolbar to toggle the dynamics You can also use cut maps for the render
state. You can style the hair only hair length so that some areas have
when dynamics is off. shorter hair than others according to a
weight map.

Basics • 229
Section 13 • Simulation

Hair Shaders and Rendering While you can use any type of Softimage shader on hair, the Hair
Renderer and Hair Geo shaders give you the most control for making
Rendering hair is similar to rendering any other object in Softimage. the hair look the way you want. You can determine different coloring,
You can use all standard lighting techniques (including final gathering transparency, and translucency anywhere along the length of the hair,
and global illumination), set shadows, and apply motion blur. Hair is such as at the roots and tips.
rendered as a special hair primitive geometry by the mental ray
renderer.
How to attach shaders to hair

1 Select the hair and open a render tree (press 7). This tree shows the
default shader connection when you create hair.

2 To switch to the Hair Geo shader, choose Nodes > Hair > Hair
Geometry Shading and attach it to the hair’s Material node in the
same way as the Hair Renderer shader.
The Hair Renderer shader gives you control The Hair Geo shader lets you set the
over coloring, transparency, and shadows coloring, transparency, and
along the hair strands. You can also optimize translucency using gradient sliders,
the render and take advantage of final 3 To connect other Softimage shaders to the hair, which give you lots of control over
gathering. disconnect the current Hair shader. Then you can where the shading occurs along the
load and connect another shader directly to the hair strand.
hair’s Material node. You can even add incandescence to
For example, you can attach a Toon Paint or make the hair “glow”.
standard surface shader to the Surface and
Shadow inputs of the hair’s Material node to
change the hair’s color. Incandescence on the inner part of
the hair strand.

To get started with some hair coloring, choose


View > General > Preset Manager, then drag
and drop a preset from the Materials > Hair tab
onto a hair object. These presets use the Hair
Renderer shader.
Incandescence on the rim of the
hair strand.

230 • Softimage
Hair and Fur

Connecting a Texture Map to Hair Color Parameters Rendering Objects (Instances) in Place of Hairs
A texture map is the combination of a texture projection plus an image Replacing hairs with objects allows you to use any type of geometry in
file whose pattern of colors you want to map. Instead of a value being a hair simulation. You can replace hair with one or more geometric
applied over the surface as with a weight map, a texture map applies a objects (referred to as instances) to create many different effects. For
color. When mapping a texture to the hair color parameters in the hair example, you could instance a feather object for a bird or instance a leaf
shaders, the color of the individual strands are derived from the texture object to create a jungle of lush vegetation.
color found at the root of the hair.
The instanced geometry can be animated, such as its local rotation or
Unlike other geometry in Softimage, hair is not a typical surface so you scaling, or animated with deformations. This allows you to animate the
can’t apply projections directly to it. Instead, you need to create a hair without needing to use dynamics, such as instancing wriggling
texture map property for the hair emitter object first, and then transfer snakes on a head to transform an ordinary character into Medusa!
it to the hair itself.
You can render
To do this, apply a texture map to the hair emitter using one of the Get instances of 3D objects
> Property > Texture Map commands, associate an image to this as hair instead of the
projection to use as the map, then transfer the texture map from the hair’s geometry.
hair emitter to the hair object itself using the Transfer Map button on The instance objects
the Hair toolbar. can even be
animated!

Transfer the texture


map from the hair
emitter to the hair
object using the
Transfer Map button.

To render instances for the hairs, simply put the objects you want to
instance into a group, and each object in the group is assigned to a
guide hair using the Instancing options in the Hair property editor.
The instanced geometry is calculated at render time, so you’ll only see
the effect in a render region or when you render the frames of your
scene.

You can change the color of the hair using a You can choose whether to replace the render hairs or just the guide
texture map connected to the hair shaders’ hairs. You can also control how the instances are assigned to the hair
color parameters. (randomly or using a weight map values), as well as control their
orientation by using a tangent map or have them follow an object’s
direction.

Basics • 231
Section 13 • Simulation

Rigid Body Dynamics


Rigid body dynamics let you create realistic motion using rigid body
How to Create a Rigid Body Simulation
objects (referred to as rigid bodies), which are objects that do not
deform in a collision. With rigid body dynamics, you can create Select an object and choose either Create > Rigid Body > Active
1
animation that could be difficult or time-consuming to achieve with Rigid Body or Passive Rigid Body from the Simulate toolbar.
other animation techniques, such as keyframing. For instance, you can
A simulation environment is automatically created in which the
easily make effects such as curling rocks colliding and rebounding off rigid body dynamics are calculated.
each other, a brick wall crumbling into pieces, or a saloon door
swinging on its hinges. 2 Apply a force to the scene, such as gravity.
The force is added to the simulation
You can make a regular object into a rigid body by simply selecting it environment.
and choosing a Create > Rigid Body command from the Simulate
toolbar. This applies rigid body properties to that object, which include If a rigid body is animated, you don’t need a
force to make it move: just make sure to use
the object’s physical and collision properties, such as its mass or its animation as its initial state for the
density, center of mass, elasticity, and friction. simulation.
The center of mass is the location at which a rigid body spins around 3 Have two or more rigid bodies collide—
itself when dynamics is applied (forces and/or collisions). By default, make their geometries intersect at any time
the center of mass is at the same location as the object’s center, but you other than at the first frame.
can move it to wherever you like. Here, the floor is set as an obstacle by
making it a passive rigid body.
Center of mass at default Set up the playback for the environment.
4
location of object’s center. This includes the duration of the simulation,
Notice how the box bounces a the playback mode, and caching the
bit in the middle before falling simulation.
off the edge.
5 Play the simulation!

Center of mass is moved to Tip: Animation ghosting lets you


the bottom right corner of display a series of snapshots of the rigid
the object. bodies at frames behind and/or ahead
of the current frame.
Notice how the box hits the
edge and tumbles more You can preview the simulation result
quickly with more spinning. without having to run the simulation!

232 • Softimage
Rigid Body Dynamics

Simulation Environments Adding Forces to the Environment


All elements that are part of a rigid body simulation are controlled When you create a force in a scene, that force is automatically added to
within a simulation environment. A simulation environment is a set of the Forces group in the current simulation environment and the
connection groups, one for each type of element in the simulation. dynamics solver calculates all active rigid bodies’ movements according
to the force. If there are other simulations in the scene (such as particles
You can see the current or hair), they are not affected by the force unless you specifically apply
simulation environment by it to them.
using the Curr. Envir. scope
in the explorer. Or use the After you apply the force, you can adjust its weight individually on the
Environments scope to see rigid bodies. For example, you may want to have only 50% of a gravity
all simulation environments force’s weight applied to a specific rigid body, while you want 100% of
in the scene. the gravity’s weight used on all the other rigid bodies in the simulation.
All elements involved in the
rigid body simulation are Passive or Active?
contained within this
environment. Rigid bodies can be either active or passive:
• Active rigid bodies are affected by dynamics, meaning that they can
be moved by forces and collisions with other rigid bodies.
A simulation environment is created as soon as you make an object
into a rigid body. You can also create more environments so that you • Passive rigid bodies participate in the simulation but are not
have multiple simulation environments in one scene. affected by dynamics; that is, they do not move as a result of forces
or collisions with other rigid bodies. They can, however, be
The dynamics operator solves the simulation for all elements that are animated. You often use passive objects as stationary obstacles or as
in this environment. You have a choice of dynamics operators in stationary objects in conjunction with rigid constraints (as an
Softimage: physX or ODE. physX is the default operator, offering you anchor point).
stable and accurate collisions with many rigid bodies in a scene, even
when using the rigid body’s actual shape as the collision geometry. You can easily change the state of a rigid body by toggling the Passive
ODE is a free, open source library for simulating rigid body dynamics. option in the rigid body’s property editor.

The pool table is a passive


rigid body, while the white
ball is an active rigid body
with the gravity force
applied.
The ball rebounds off the
table but the table does not
move.

Basics • 233
Section 13 • Simulation

Animation or Simulation? Creating Collisions with Rigid Bodies


You can apply rigid body dynamics to objects that are animated or not: Rigid bodies are all collision objects—you don’t need to specifically set
an object as an obstacle with rigid bodies. For example, to animate
• If the rigid bodies are animated, you can use their animation
billiard balls colliding with each other, you simply make the balls into
(position, rotation, and linear/angular velocity) for the initial state
rigid bodies. Then when they come in contact with each other, they all
of the simulation. When you apply a force to an animated rigid
react to the collision.
body, the force takes over the object’s movement as soon as the
simulation starts. At least one rigid body must be active to create a collision. When you
have collisions between two or more active objects, they all move
• If the rigid bodies are not animated, you need to apply a force to
because they are all affected by the dynamics.
make them move.
You can put rigid bodies into different collision layers, which lets you
You can easily animate the active/passive state of a rigid body to achieve
create exclusive groups of rigid bodies that can collide only with each
various effects: you simply animate the activeness of the Passive option
other. By putting rigid bodies that don’t need to collide together in
in the rigid body’s property editor.
different layers, you can lessen the collision processing time.

Animation All billiard balls are assigned as


The billiard ball is a passive rigid active rigid bodies.
body whose rotation and 1 When the white ball (circled) hits
translation is animated to make it them, they all react to the collision.
move to the table’s edge. A
gravity force has been applied to
the simulation environment.
When the ball reaches the edge
of the table, the ball’s state is
switched from passive to active,
the simulation takes over, and
gravity makes the ball fall down.
2

Simulation
3

234 • Softimage
Rigid Body Dynamics

Elasticity and Friction


Bounding shapes: box, sphere, and capsule
All rigid bodies use a set of collision properties to calculate their
reactions to each other during a collision, including elasticity and
friction.
• Elasticity is the amount of kinetic energy that is retained when an
object collides with another object. For example, when a billiard
ball hits the table, elasticity influences how much the ball rebounds.
• Friction is the resisting force that determines how much energy is
lost by an object as it moves along the surface of another. For
example, a billiard ball rolling along a table has a lower friction
value than a rubber ball along a table. Likewise, a billiard ball
rolling on a carpet would have more friction than if it was rolling
on a marble floor.

Collision Geometry Types


The collision type is the geometry used for the collision, which can be a
bounding box/capsule/sphere, a convex hull, or the actual shape of the
rigid body’s geometry.
Actual Shape provides an
• Bounding shapes (capsules, spheres, and boxes) provide a quick accurate collision using the rigid
solution for collisions when shape accuracy is not an issue or the body’s original shape.
bounding shape’s geometry is close enough to the shape of the rigid
body.
• Actual Shape provides an accurate collision but takes longer to
calculate than bounding shapes or convex hulls. This is useful for
rigid body geometry that is irregular in shape or has holes, dips, or
peaks that you want to consider for the collision, such as this bowl
with cherries falling inside of it.
• Convex hulls give a quick approximation of a rigid body’s shape,
with the results similar to a box being shrinkwrapped around the
rigid body. They have the advantage of being very fast. Any dips or Convex hull doesn’t calculate the
holes in the rigid body geometry are not calculated, but it is dip in this bowl, but is otherwise
otherwise the same as the rigid body’s original shape. the same as the bowl’s shape.

Basics • 235
Section 13 • Simulation

Constraints between Rigid Bodies How to constrain rigid bodies


You can set constraints between rigid bodies to limit a rigid body to a
specific type of movement. For example, you could create a trap door 1 Choose a constraint from the Create > Rigid Body > Rigid
that has a hinge at one of its ends. Then when some crates fall on the Constraint menu, then left-click to pick the position for the
trap door, the collision causes the trap door to open up and the crates constraint object.
fall through it.
To constrain multiple rigid
Rigid body constraints are actual objects that you can transform bodies to one, choose a
(translate, rotate, and scale), select, and delete like any other 3D object B command from the Create >
A
Rigid Body > Multi Constraint
in Softimage.
Tool menu.
You can constrain two rigid bodies together, a single rigid body to a
point in global space, or constrain several active rigid bodies together
as a chain. 2 Pick the first constrained rigid
body (A). The constraint object
connects to its center.
A B
Types of rigid body constraints
A is a passive rigid body and B
Slider is an active rigid body.
Ball and socket

3 Pick the second constrained


rigid body (B). The constraint
connects to its center, joining A B
the two rigid bodies together.

Hinge
Spring B
A

Fixed

Rigid body B’s resulting movement with gravity applied. Notice


how the constraint object is attached to both rigid bodies’ centers.

236 • Softimage
Cloth Dynamics

Cloth Dynamics
The cloth simulator uses a spring-based model for animating cloth
• Bend controls the resistance to bending. With low values, the cloth moves
dynamics. You can specify and control the mass of the fabric, the very freely like silk; with high values, the cloth appears like rigid linen or
friction, and the degree of stiffness, allowing you to simulate different even leather.
materials such as leather, silk, dough, or even paper. • Stretch controls the resistance to stretching, which is the elasticity of the
material. Low values allow the cloth to deform without resistance, while
Cloth deformation is controlled by a virtual “spring net” which is made higher values prevent the cloth from having elasticity.
up from three different types of springs, each controlling a different • Shear controls the resistance to shearing (crosswise stretching), keeping as
kind of deformation: shearing, stretching, and bending. much to the original shape as possible. Try to decrease this value if the
cloth’s wrinkling is too rigid.
After you set up how the cloth is deformed according to its own
“internal” spring-based forces, you can then affect how it’s deformed
using external forces, such as gravity, wind, fans, and eddies.
As well, you can have the cloth collide with external objects or with
itself. The obstacles can be animated or deformed and interact with the
cloth model according to the cloth’s and obstacle’s friction.
Although you can apply cloth only to single objects, you could create a
larger object (such as a garment) made of multiple NURBS surface
patches stitched together using any number of points.
Low resistance
You must first assemble the different
to Shear.
patches into a single surface mesh Low resistance Low resistance
object, then apply cloth to that to Bend. to Stretch.
object. Set the Stitching parameters
in the ClothOp property editor to
create seams between the different To give you a head start on creating cloth,
NURBS surfaces of the same surface there are several presets in the Cloth
mesh model. property editor that let you quickly
simulate the look and behavior
of different materials, such as
leather, paper, silk, or pizza
dough.

Paper preset Silk preset

Basics • 237
Section 13 • Simulation

How to apply cloth to an object

5 Select objects as obstacles for


collisions and choose Cloth > Modify
1 Select Animation as the Construction > Set Obstacle.
Mode. This tells Softimage that you want
to use cloth as an animated You can also have the cloth collide
deformation. with itself by activating Self Collision
in the ClothOp property page.

2 Select an object and choose Create >


Cloth > From Selection from the 6 Play the simulation.
Simulate toolbar.
To calculate the whole simulation
more quickly, go to the last frame of
the simulation.
You can cache the simulation to files
to play back faster, as well as being
3 Set the cloth’s physical properties such as able to scrub the simulation and play
mass, friction, and resistance to shearing, it backwards.
bending, and stretching.

You can also set clusters of points to define specific areas of


a cloth that you want to be affected by the cloth simulation,
4 Apply forces to make the cloth move. then use the Nail parameter to nail down these clusters.
Here, a little gravity and a large fan For example, you can anchor down clusters at the sides or
are applied to create the effect of a corners of a flag to keep it
strong wind blowing on the flag. from blowing away in the
wind.
As well, you can animate
the Nail parameter as
being on or off, making it
easy to create the effect
of a cloth being grabbed
and then let go.

238 • Softimage
Soft Body Dynamics

Soft Body Dynamics How to apply soft body to an object or cluster


As the name would indicate, soft bodies are objects that easily deform
when they collide with obstacles. In fact, the main reason to create soft 1 Select Animation as the Construction
bodies is to have collisions with obstacles. You can, for example, use Mode. This tells Softimage that you want
soft body to deform a beach ball being blown across the sand and have to use soft body as an animated
deformation.
it get squashed when it collides with a pail.
2 Select an object or cluster and choose
Create > Soft Body > From Selection from
the Simulate toolbar. The object can also be
animated.

3 Set the soft body physical properties


such as mass, friction, stiffness, and
plasticity.
To give you a head start, click a
button on the Presets page to quickly
make the object behave like a rubber
ball, an air bag, and more.
Soft body is a deform operator meaning that it moves only an object’s
vertices, never the object’s center. Soft body computes the movements
and deformations of the object by means of a spring-based lattice
4 Apply a gravity and/or wind force.
whose resolution you can define using the Sampling parameter in the
SoftBodyOp property editor. If the soft body is not already animated, you
need to apply a force to make it move.
You can use soft body on clusters (such as points and polygons),
allowing only that part of an object to be deformed by soft body. For
example, you can have the cluster of points that form a character’s belly 5 Select objects as
obstacles for collisions
be deformed by soft body for some jelly-like fun! and choose Soft Body
> Modify > Set
If the soft-body object is animated, you can either preserve its Obstacle.
animation or recalculate it according to any forces you apply, such as
wind and gravity. If you keep the object’s animation, soft body acts Then play the
simulation and watch
only as a deformer on the object, but does not influence its movement. the ball bounce!
If you want to convert the soft body simulation to animation, you can
plot it as shape animation using the Tools > Plot > Shape command on
the Animate toolbar.

Basics • 239
Section 13 • Simulation

240 • Softimage
Section 14

ICE: The Interactive


Creative Environment
ICE is a graph-based system for controlling
deformations and particle effects in Softimage. You
can quickly create an effect by connecting a few
nodes, or you can dig deeper and use ICE as a
complete visual programming environment.
This section describes some of the basic concepts of
ICE. The next section, ICE Particles on page 271,
describes the workflow for using the predefined ICE
compounds to create particle systems.

What you’ll find in this section ...


• What is ICE?
• The ICE Tree View
• ICE Simulations
• Forces and ICE Simulations
• ICE Deformations
• Building ICE Trees
• ICE Compounds

Basics • 241
Section 14 • ICE: The Interactive Creative Environment

What is ICE?
ICE is a node-based system for controlling all the attributes that define • Completely control particle systems. You can add and remove
a deformation or particle effect. There are two parts to ICE: points on point clouds. You can move points directly, or apply a
simulation using particle or rigid body behavior.
• At its basic level, ICE is a complete visual programming
environment. You can combine basic nodes for getting data, • Deform various geometry types, including polygon meshes,
modifying data, setting data, and controlling execution flow into NURBS surfaces, curves, lattices, and point clouds. However, you
elaborate ICE trees. You can easily experiment, in a way that you cannot add or remove components on any geometry type except
can’t when writing code, by simply connecting nodes and seeing point clouds.
the results immediately in the viewports. When you’re done, you
You cannot use ICE on hair, non-ICE (legacy) particle clouds,
can package your tree into reusable compounds that you can use in
groups, or branches.
other scenes, share with your team, or even put online to share with
the Softimage community. There are three ways you can approach ICE:
• On top of that level, Softimage comes with a comprehensive set of • You can simply use the predefined compounds and adjust their
predefined compounds for particle simulations. For simple effects, input values to create basic effects.
you can connect compounds that define forces or basic behaviors
like sticking and bouncing. For more complex effects, you can use • At the other extreme, you can dive right in and create your own
the predefined state machine to switch between several behaviors custom effects from scratch using the base nodes.
on a per-particle basis. • Between the two extremes, you can start with the factory
You can use ICE to: compounds and then modify or augment them with extra nodes to
create your own variations of effects.

Under the hood, many nodes connected


together in the point cloud’s ICE tree are
doing all the work.

242 • Softimage
What is ICE?

A Few Thing to Know About ICE... The ICETree Node

It’s All About the Nodes The ICETree node is like Grand Central Station for an
ICE tree: it’s the main operator that processes all the
Nodes are the building blocks for ICE: they are operators that work on data that flows into it. Nodes in the tree must be
object data. Some nodes get data from the scene, and some modify and connected to it in order to be evaluated.
process this data. They have input and output ports that allow them to
be connected to each other. You can have multiple ICE trees per object as long as
each ICETree operator has a different name—and you can easily
rename it in the explorer.

Attributes
Attributes are at the heart of ICE. Attributes are data that is associated
Two nodes with ports with objects, or with components such as points, edges, polygons, and
connected together. nodes. With attributes, you can get and set information such as a
Compound with particle’s color or shape, or an object’s point position. Almost every
several input ports. ICE tree involves getting and setting attributes in some way.
Attributes can be inherent (always part of the scene), predefined
(innately understood by certain base ICE nodes, but dynamic in that
they only exist when they are set), or custom (create your own).
Compounds
Compounds are the “über nodes” of the ICE world. They can contain a
whole ICE tree or just parts of it. Compounds make it easy to create
more complex effects in the ICE tree because they package numerous Some of the many attributes that
nodes into one. And because they’re in a package, you can easily bring are available for point clouds.
compounds into other scenes or share them with other users.
You can view attributes in an
You can connect compounds in the same way that you do for nodes in explorer.
the ICE tree. As well, you can open up a compound to edit it or just to
see what makes it tick.
Softimage ships with many compounds that are designed specifically
for particle and deformation workflows. You can find these on the
Tasks tab of the preset manager in the ICE Tree view.

Basics • 243
Section 14 • ICE: The Interactive Creative Environment

The ICE Tree View


The ICE tree view is where you build ICE trees by connecting nodes. To display an ICE Layout with the ICE tree view embedded, choose
View > Layouts > ICE.
You can open an ICE tree view in a floating window by pressing Alt+9
or by choosing View > General > ICE Tree.

A B C D E F G H I

J K L

A Memo Cams. Save and restore up to four views: D Clear. Clears the view.
Left-click to recall stored view. E Opens the preset manager in a floating window.
Middle-click to store current view.
F Displays or hides the preset manager embedded in the left panel (J).
Ctrl+middle-click to overwrite stored view with current view.
Right-click to clear stored view. G Displays or hides the local explorer embedded in the right panel (L).

B Lock. Prevents the view from updating when you select other H Bird’s Eye View. Click to view a specific area of the workspace, or
objects in the scene. drag to scroll. Toggle it on or off with Show > Bird’s Eye View.

C Refresh. When the view is locked, forces it to update with the


current selection in the scene.

244 • Softimage
The ICE Tree View

ICE Nodes in the Preset Manager


I Control timers and display performance highlights. This is an
advanced feature used for profiling and optimizing the performance In the preset manager, ICE nodes are separated into two tabs:
of ICE trees.
• The Tasks tab contains higher-level compounds for accomplishing
J Embedded preset manager.
specific tasks. You can select a task (Particles or Deformation)
You can press Ctrl+F to quickly put the cursor in the preset
from the drop-down, and then select a sub-task from the list below.
manager’s text box so that you can start typing a search string.
Pressing Ctrl+F will also temporarily display the preset manager if it is • The Tools tab contains base nodes and general utility compounds
hidden.
for performing basic operations, like getting data, setting data,
K ICE tree workspace. adding values, etc.
Connect nodes by dragging an output port from the right side of
You can drag a node from the preset manager into an ICE tree and
one node onto an input port on the left side of another node. You
can connect the same output to as many inputs as you want. connect it to the graph.
Open a node’s property editor by double-clicking on it. This lets you
set parameters that cannot be driven by connections.
Right-click on a node, on a port, or on the background for various
options.
Hover the mouse pointer over a connection to highlight the
connected ports. If a port is not visible because it has been collapsed
or because the view is zoomed out too far, information about the
port is displayed in a pop-up.
The nodes in the tree can be base nodes or compound nodes.
Compounds are encapsulated subtrees built from base nodes and
other compounds. Base nodes have a single border and compound
nodes have a double border. See ICE Compounds on page 267 for
information on building and exporting your own compounds.
Nodes that cannot be evaluated because of a structural error are
displayed in red. Other nodes that will not be evaluated because of
an error in their branch are displayed in yellow. See Debugging ICE
Trees on page 264.

L Local explorer. When there are multiple ICE trees on the same object,
click to select the one to view. You can also click on a material to
switch to the render tree view.

Basics • 245
Section 14 • ICE: The Interactive Creative Environment

Anatomy of an ICE Tree C Execution flows sequentially from top to bottom along the input
The following illustration shows a typical ICE tree for a simple particle ports of the ICETree node (and any other type of Execute node).
system. To see some examples of how to build up an ICE tree, check Because the nodes are evaluated in order, it matters where you plug
them in. Sometimes one operation requires another to be done first
out the three tutorials at the end of this guide. so that it can be evaluated properly.

D Nodes that are connected to an Emit node’s Execute on Emit port are
A applied only to new points that are generated on the current frame.
They are not applied to all particles on every frame.

E Nodes that are connected to the root node are executed on every
frame. You can control which data gets set on which elements by
using If and Filter nodes in the upstream branches.
The simulation framework resets every particle’s force to 0 at the end
of each frame, so forces must be reapplied at every frame, which is
why the Add Forces node is plugged into the ICETree node and not
D the Emit node.
C
E F The Simulate Particles node is the “standard” particles node that
updates the position and velocity of each particle at each frame
based on mass and force.
B You could use the Simulate Rigid Bodies node instead to make
particles into rigid bodies. Particles can then collide with each other
and with other objects that are set as obstacles.
You do not need to include a simulation node in your tree—if you
prefer, you can set point positions directly.

A Data flows “downstream” from left to right along connections from


one node’s output ports to the next node’s input ports. Each
connection represents a data set.

B The ICETree node is the main operator that processes all the data that
flows into it. Nodes must be connected to it to be evaluated.

246 • Softimage
ICE Simulations

ICE Simulations
As with animation, a simulation calculates the way in which an object • You can deform various geometry types, including polygon
changes over time. However, with a simulation, the result of the meshes, NURBS surfaces, curves, lattices, and point clouds, to
current frame depends on the result of the previous frame. create effects such as turbulent ocean waves, gentle ripples on a
pond, or ribbons twisting in the wind.
With ICE, you can create both particle and deformation simulations.
• You can emit and change particles in a point cloud for effects such
as cigarette smoke curling as it rises, leaves falling lazily to the
ground, vines growing up out of the ground, or even crowds of
people milling about in the street.

ICE snow particles fly from the


point of impact of the boulder with
the snow on the hill.
An ICE deformation also occurs on
the hill as the boulder rolls down it,
crushing the snow as it goes.

The point cloud’s simulated ICE tree


emits the snow particles and makes
them move.
A simulated ICE tree also exists for
the polygon mesh hill’s deformation
effect.

Basics • 247
Section 14 • ICE: The Interactive Creative Environment

Simulations and the Construction Regions this, you can select and delete the Simulation region marker from the
construction operator stack. Both the Simulation and Post-Simulation
An ICETree node can be either simulated or not: the only difference region markers are removed if either one is deleted, but operators in
between the two is the ICETree operator’s position in the object’s these regions are not removed and can be moved to the desired regions
construction stack. afterward.
When you create a simulated
ICETree node, the Simulation and The Simulation Environment
Post-Simulation regions are created
A simulation environment is
in the object’s construction stack,
automatically created when a
and the ICETree operator is placed in
simulated ICETree node is
the Simulation region.
created. This simulation
Operators in the Simulation region environment houses the
calculate the result of the current Simulation Time Control, the
frame based on the previous frame cache files, and any non-ICE
rather than on the construction forces used in the simulation.
regions that are below it. This is true not only for ICE trees, but for all
The Simulation Time Control property is where you set the frame
operators in the Simulation region. For example, if you apply a non-
range during which the simulation is active. It’s also where you set the
ICE Twist deformation with a small Angle value in the Simulation
Play Mode which controls how the simulation plays back: Live,
region and play back the scene, the object becomes progressively more
Standard, or Interactive.
twisted.
To play the simulation, use the standard playback controls below the
Operators in the Post-Simulation region are applied on top of the
timeline to play, scrub, or jog forward. Since simulations depend on the
simulation. You could use the Post-Simulation region to apply a
previous frame, the viewports do not update if you play, scrub, or jog
deformation, such as a lattice, on top of a particle simulation.
backwards unless the simulation has been cached. If you jump to a later
When the simulation is not active, the operators in the Simulation frame, the intervening frames are calculated in the background.
region are skipped. On the first frame that the simulation is active, the
operators below the Simulation region are evaluated to define the Setting the ICE Simulation’s Initial State
default initial state but the operators in the Simulation region are not
evaluated—this means that if you are emitting particles, for example, By default, the initial state of a simulation is the result of the operators
they will appear on the second frame of the simulation. While the in the construction regions that are below the Simulation region on the
simulation is active, the operators below the Simulation region are not first frame that the simulation is active.
re-evaluated. However, with simulations you often need to have a certain state be the
You can turn a simulated tree into a non-simulated one by moving it to first frame of the simulation, such as a candle already burning or rigid
another region, like Modeling, and vice versa. However, remember that bodies already settled. You can select any frame in an existing
the lower regions are not re-evaluated when the simulation is active if simulation and use that as the initial state by choosing ICE > Edit > Set
the Simulation region exists in an object’s construction stack. To fix Initial State from the Simulate toolbar.

248 • Softimage
ICE Simulations

Caching ICE Simulations There are three ways of caching ICE simulations:
Much of the work in creating a convincing simulation is the process of
trial and error. Caching can help you try out different combinations of A Use the Tools > Plot > Write Geometry Cache command on the
Animate toolbar to plot any type of simulation (except hair) or
settings until you find the right effect. Caching stores the current animation into cache files. Then select an object and load the cache
simulation frames into a file that you can play back using the ICE tree, files on it with the Plot > Load Geometry Cache command. This
the animation mixer, or simply the playback controls and the timeline. brings them into the animation mixer.

With cache files in the animation mixer you can scale, trim, cycle B Use the Caching option in the Simulation Time Control to cache
(loop), blend, etc. them in the same way that you can for action clips. the simulation frames from any simulated object into an action
source, which you can then bring into the animation mixer.
There are three file formats from which you can choose to create cache
C Use the Cache on File node in the ICE tree to write the simulation or
files: the default ICECache file format, the PC2 file format, and the
animation data stored on an ICE object to a cache file, which you can
Custom file format (if you create your own custom plug-in for bring into the animation mixer. You can also read the cache data
caching). with this node.

Basics • 249
Section 14 • ICE: The Interactive Creative Environment

Forces and ICE Simulations ICE Forces

In the ICE tree, you can make simulated particles and deformed objects
A Gravity applies a force that defines an acceleration over time. To get
move according to different types of forces. Each simulated object can the correct gravitational behavior from objects or particles, their size
have multiple forces applied to it. must be taken into consideration.
You can use either of these types of forces in an ICE tree: B The Surface force attracts particles/objects to or repels them from an
object’s surface. While this force is similar to creating goals for
• The forces that are available from the Get > Primitive > Forces particles, this force keeps the particles moving around (“swarming”)
menu on any toolbar (see Making Things Move with Forces on the surface object instead of stopping once they reach the goal.
page 225).
C The Wind is a directional force with velocity and strength. It generates
• The ICE forces that are available as compounds in the ICE tree a force that speeds up particles or objects to a target velocity.
view’s preset manager or Nodes menu.
D The Null Controller force uses a null to attract or repel particles/
You can also create your own force compounds using the nodes objects, much like how particles move toward or away from a goal
object. Changing the icon shape of the null (to something like Rings,
found within ICE. Square, or Circle) changes the behavior of this force.
The main ICE force is the Add Forces compound, which is a hub for all E The Neighboring Particles force attracts particles to each other when
the forces in your ICE tree. It adds up the effect of all forces that are they get within a certain range, but there is no friction between the
plugged into it, then outputs one force (vector). The order in which the particles so they don’t stay clumped together—they keep moving.
forces are plugged into the Add Force compound is not important.
F The Drag force opposes the movement of simulated objects, as if they
If nothing is plugged into the Add Force compound, you can use it to were in a fluid.
set a simple directional force on each axis. G The Coagulate force attracts points toward their neighbors to form
clumps. Once the points get within a certain range of each other, the
friction (drag) slows them down.

H The Point force attracts particles/objects to or repels them from a


position in space that you define.

250 • Softimage
Forces and ICE Simulations

Types of ICE Forces


D
A
E

Basics • 251
Section 14 • ICE: The Interactive Creative Environment

ICE Deformations
Any ICE tree that modifies point positions on an object without adding A deformer works by getting current point positions, modifying them
or deleting points can be considered a deformation. With ICE, you can based on other variables, then setting new positions. This means that
deform various geometry types, including polygon meshes, NURBS you can create your own custom deformers with ICE.
surfaces, curves, lattices, and point clouds. However, you cannot add or
You can create three types of deformations with ICE: simulated,
remove components on any geometry type except point clouds.
animated, and non-time based.

The snow on the polygon mesh hill


crushes under the weight of the
boulder as it rolls down the hill.

The simulated ICE tree for the polygon


mesh hill’s deformation effect. A Bulge
operation is used along with
turbulence.

252 • Softimage
ICE Deformations

Simulated Deformations Time-based, Non-simulated Deformations


To create a simulated deformation in ICE, you need to use a Simulated You can also use ICE to create deformations that are time-based, but
ICETree node. You can then change the object point positions as you not simulated in that they are not in the Simulation region of the
like with any type of deformer, including one of your own design. construction stack and therefore do not depend on the previous
frame’s point positions.
As an example, the Footprints compound creates a simple
deformation. It lowers the points of an object where the surface of One way to do this is to simply animate the input port values of the
another geometric object (the deformer) is below them in the object’s ICE tree. Another way is to include time-dependent nodes in the ICE
local Y axis. The points stay deformed during the simulation, so you tree, such as a Turbulence node. This node creates a coherent noise
can move the deformer to create more indentations. When you return pattern that varies continuously in space, as well as optionally in time.
to the first frame of the simulation, the geometry returns to its initial
Here, the Turbulence node is used to set the point positions in Y. Space
undeformed state.
Frequency was set differently in X and Z, resulting in long, thin ripples.
There are also several Turbulize compounds based on this node, but
designed to work with specific situations. You can find them in the
2 preset manager.

1 Select the geometric object to be deformed and choose


Deform > Footprints (ICE) from the Model, Animate, or
Simulate toolbar. This creates an ICE tree for this object.
Alternatively, you can get the Footprints compound from the
preset manager and set up this tree yourself.
2 Pick the geometric object to act as the deformer. In this case,
it’s the infamous foot!
3 Play the scene to run the simulation, then move the deformer
to create indentations in the object.

Basics • 253
Section 14 • ICE: The Interactive Creative Environment

Non–time-based Deformations
You can create deformations that are not time-based but instead
depend on the position of deformer objects or other factors to modify
point positions. The deformation can then be controlled by animating
the deformers in any way.
The following example is a variation of the Push deformation that uses
the proximity of a null to displace points along their normals.

254 • Softimage
Building ICE Trees

Building ICE Trees


ICE allows you to create operators by building a network of nodes
4 Add nodes to the workspace in a variety of ways, such as by
called an ICE tree. The ICE tree makes it easy to build up an effect by
dragging them from the preset manager into the ICE tree
connecting pieces of data together.
workspace or by choosing them from the Nodes menu.
The real work in creating an ICE tree, however, is finding out the type
You can also get data from a scene element. An easy way to do
of data you can use and then figuring out how to connect that data
this is to select the object and press F3 so that a floating
together to achieve the effect you want.
explorer opens, then drag the emitter’s name from there into
Using the compounds that come with Softimage can get you pretty far the ICE tree workspace. This adds a pre-filled Get Data node
for some effects, but you might need to work at the base node level at for that object.
some point. While this isn’t rocket science, it’s also not trivial. The level
at which you get into tree building depends on what you want or need 5 Connect the nodes together to achieve the effect you want.
to do, as well as how comfortable you are with math and programming This is where all the thinking and work takes place!
concepts. You can also open a node’s property editor to edit parameters
that are not (or cannot be) driven by connections.
Overview of How to Create an ICE Tree
Right-click on a node, on a port, or on the background for
This is a basic workflow for creating ICE trees. various options.
6 If the tree is a particle simulation, add either the Simulate
1 Select the geometric object to which you want to apply an ICE
Particles or Simulate Rigid Bodies node to make sure that it
tree.
updates properly at each frame.
2 Display the ICE tree view by pressing Alt+9.
7 You can create a compound node and export it for reuse in
Click the Update button in the ICE tree view to show the other trees and scenes.
selection. The view will be empty if there’s no ICE tree on the
object yet.
3 Create an ICE tree or a simulated ICE tree (for particle or
deformation simulations) by choosing Create > ICE Tree or
Simulated ICE Tree. This creates the ICETree node.

Basics • 255
Section 14 • ICE: The Interactive Creative Environment

1
2

4 5

256 • Softimage
Building ICE Trees

The Way Trees Work Connecting Nodes


Each connection in a tree represents a set of data, with one value per In general, you connect ICE nodes by clicking and dragging an output
element of the set. For example, if you get Self.PointPosition, the set port from the right of one node onto the input port on the left of
consists of one 3D vector per point of the “Self ” object (the object with another node. You can connect the same output to as many inputs as
the ICE tree). you want. Data flows along the connection from the first node and is
processed by the second node.
When tracing the logic and connections of an ICE tree, you can think
of the nodes as working on all members of the data set at once, or you
can concentrate on what happens to a single representative of that set.
When you combine a single constant value (or something else in the
singleton context) with a data set, it gets combined with every member
of the set. For example, you can add the same value to all members of a
set, or you can multiply them all by the same number, and so on.
When you connect to an input port, any existing animation
When you combine two data sets, the corresponding members of the on the port’s value is lost.
set are combined. For example, if you add Self.PointPosition and
Self.PointNormal as you might do in a Push-type deformation, then Some nodes, such as Execute, Add, Multiply, and so on, allow an
each point’s position vector is added to its own normal vector. This is unlimited number of input connections. These nodes have special
why component contexts must be the same when you combine them— virtual ports identified as “New (port name)”. You can connect to the
there must be the same number of elements and there must be a “New” port to create a new port, or right-click on an existing port to
correspondence between the members. manually insert and remove ports.
A data set is not an array, or at least, it’s not exposed as an array in ICE. There are some special factors that determine whether you can connect
Traditional programming concepts related to arrays do not apply. You two ports together:
do not need to use the nodes in the Array category to work with data
• The type of the data, as indicated by the port colors.
sets (unless your data set actually contains arrays, for example
Self.PointNeighbors, and even then you can connect directly to many • The context of the data.
nodes without worrying too much about the fact that the data consists
• The structure of the data: either single or array (ordered set).
of arrays). You do not need to iterate on the members of the data set—
just plug the data into another node, such as a Math node, to process
the data.

Basics • 257
Section 14 • ICE: The Interactive Creative Environment

Data Types Type Description


The data type defines the kind of values that a port can pass or accept, Rotation A rotation as represented by an axis vector
such as Boolean, integer, scalar or vector. The data type is identified by [x, y, z] and an angle in degrees.
the color of the port.
3x3 Matrix A 3-by-3 matrix whose entries are real numbers.
You cannot connect two ports if their data types are incompatible. 3x3 matrices are often used to represent
However, you can convert between many data types using the different rotation and scaling.
Conversion nodes. 4x4 Matrix A 4-by-4 matrix whose entries are real numbers.
Here are the types of data you might see: 4x4 matrices are often used to represent
transformations (scaling, rotation, and
translation).
Type Description
Shape A primitive geometrical shape, or a reference to
Polymorphic Accepts a variety of data types. See Polymorphic the shape of an object in the scene. This data
Ports on page 259. type is used to determine the shape of particles.

Boolean A Boolean value: True or False. Geometry A reference to a geometrical object in the
scene, such as a a polygon mesh, NURBS curve,
NURBS surface, or point cloud. You can sample
Integer A positive or negative number without decimal the surface of a geometry to generate surface
fractions, for example, 7, –2, or 0. locations for emitting particles.

Scalar A real number represented as a decimal value, Surface Location A location on the surface of a geometric object.
for example, 3.14. Internally this is a single- The locator is “glued” to the surface of the
precision float value. object so that even if the object transforms and
deforms, the locator moves with the object and
2D Vector A two-dimensional vector [x, y] whose entries stays in same relative position.
are scalars, for example, a UV coordinate.
Execution Not a data type in the conventional sense. You
3D Vector A three-dimensional vector [x, y, z] whose connect Execution ports such as the output of a
entries are scalars, for example, a position, Set Data into an Execute or root node to control
velocity, or force. the flow of execution in the tree.
4D Vector A four-dimensional vector [w, x, y, z] whose Reference Also not a data type in the conventional sense.
entries are scalars. This is a reference to an object, parameter, or
attribute in the scene, expressed as a character
Quaternion A quaternion [x, y, z, w]. Quaternions are string. You can daisy-chain these as described in
usually used to represent an orientation. Daisy-chaining References on page 261.
Quaternions can be easily blended and
interpolated, and help address gimbal-lock
problems when dealing with animated
rotations.

258 • Softimage
Building ICE Trees

Polymorphic Ports
Before any connection,
Polymorphic ports can accept several different data types. For example, the Add node’s property
the Add node can be used to add together two or more integers, or two editor is blank.
or more scalars, or two or more vectors, and so on.
Once you connect a value to a polymorphic port, its port type becomes After connection, controls
resolved. Other input and output ports on the same node and on appear for Value2. There
connected nodes may also become resolved and only accept specific are no controls for Value1
because it is being driven
data types. This reflects the fact that, for example, you cannot add an by the connection.
integer to a vector.

Before anything is
connected, the Add node’s
ports are unresolved (black). While polymorphic ports accept several data types, they don’t
necessarily accept all types of connection. For example, the ports of a
Pass Through node accept any type of value, but it doesn’t make sense
to use a Multiply by Scalar node with a Boolean value.
Once a node is connected to
Value1, then Value2 and Data Context
Result become resolved. In
this case, they are yellow for In ICE, attributes are always associated with elements, either objects or
3D vectors.
one of their component types such as points, polygons, edges, and so
on. For example, “sphere.PointNormal” consists of one 3D vector for
Even after a port’s type has been resolved, you can still change it by each point of the object called “sphere”; in other words, the context is
replacing the connection with a different data type. However, this per point of sphere.
works only if the port is not resolved by other connections in the tree.
For two ports to be connectable, their contexts must be compatible.
If a port’s type is unresolved, you cannot set values in its property Context is determined by two factors:
editor. Once it is resolved, the appropriate controls appear in the
property editor. Different data types use different controls: for • The type of element associated with the data: object or a specific
example, checkboxes for Booleans, sliders for scalars, and so on. component type (points, polygons, etc.).
• The object that owns the components.
The data context gets propagated through node connections in the
same way as the data types of polymorphic nodes.

Basics • 259
Section 14 • ICE: The Interactive Creative Environment

The different types of context are summarized in the following table: Specifying Scene References
Certain nodes can refer to elements in the scene using strings as
Context Description
references. For example, references can specify things like:
Singleton A data set containing exactly one value. For example, an
object’s position, a bone’s length, a mesh’s volume, etc. The
• Attributes to get or set.
singleton context includes data that is associated directly • Point clouds to which to add particles.
with objects rather than their components, as well as scene
data such the current time and the frame rate. • Geometric objects to query for closest points, etc.
Singleton data is always compatible with other singleton
data. Singleton data is usually compatible with other References are resolved by name. Character strings are not case-
contexts, for example, you can add the position of one sensitive. Object, property, and attribute names are separated by a
object to the point positions of another object. period (.), for example, “grid.PointPosition” or
Point A data set containing one value for each point of a “sphere.cls.WeightMapCls.Weight_Map.Weights”.
geometric object (point cloud, polygon mesh, NURBS
surface, curve, lattice, etc.). For example, point positions, You can specify a scene reference by using controls in a node’s property
envelope weight assignments, etc. editor to enter, explore for, or pick elements in the scene. Alternatively,
you can right-click on a node and choose Explore for Port Data.
Line A data set containing one value for each edge, subcurve, or
surface boundary. For example, edge lengths.

Face A data set containing one value for each polygon or


subsurface. For example, polygon normals or polygon
areas. A B C
D
Sample A data set containing one value for each texture sample of
a geometry. A sample is usually a polygon node on a A Type the reference. Use periods to separate objects, properties, and
polygon mesh, but there can also be samples on NURBS attributes. Strings are not case-sensitive. Use the token “self” to refer
surfaces and curves. to the object on which the tree exists. You can also use the tokens
“this” (same as “self”) and “this_model” (the model that contains the
Node In some cases, the context is bound to a node in the ICE object with the tree).
tree. For example, the Generate Sample Set node generates
a set of random point locators on the surface of a B Click Explorer, expand the tree, and choose an element. The tree
geometric object. The size of the set of point locators does shows the attributes that you can get from the current element name
not necessarily match the number of any kind of element in path or location. This list includes predefined attributes and any custom
the scene, but is actually controlled by the rate parameter attributes (including those defined in unconnected Set Data nodes).
of the Generate Sample Set node.
Node-bound contexts are typically incompatible with each C Click Pick and then pick an element from a viewport, explorer, or
other. For example, if you generate two sets of locations on schematic view.
the same geometry, they are bound to different nodes and
D You can combine methods A and B, for example, type “self”, click
cannot be combined.
Explore, and then choose an attribute such as PointPosition.

260 • Softimage
Building ICE Trees

Daisy-chaining References Tokens in References


You can use the In Name and Out Name ports to connect references on The token “self ” always refers to the object on which the ICE tree is
Get Data and other nodes in sequence, like a daisy chain. For example, directly applied. This token allows you to create trees that are easily
you can get “sphere” and then use that to get “sphere.PointPosition”, reusable because they don’t depend on specific object names.
“sphere.PointNormal”, and so on. If you want to change “sphere” to
Other tokens that you can use are “this” (same as “self ”) and
“torus” later on, there’s only one node that needs to be changed. This is
“this_model” (refers to the model that contains the object with the ICE
particularly useful when creating compounds, because you only need
tree).
to expose the leftmost reference.
If you have built an ICE tree using specific object names and want to
make it more generic so that you can make a compound to use on
other objects, you can automatically replace the object name with
“Self ” using User Tools > Replace Object Name with Self (Nested
Compounds).

Resolving Scene References


Scene references are automatically maintained as you modify the scene.
• If you have an object called “sphere” and you rename it to “ball”,
References that are connected in this way are concatenated, so for
references to “sphere” are automatically updated to “ball”.
example Get Data (“Self ”) plugged into Get Data (“PointPosition”)
results in “Self.PointPosition”. You do not need to worry about periods • If you delete the object named “sphere” instead, any references to it
at the beginning or end of the references—periods are automatically are invalid and the affected nodes become red. If you later add
added or removed as necessary. another object named “sphere”, or rename an existing object to
“sphere”, then the references become resolved again.
When a node has a reference connected to its In Name port, then the
Explore button and Explore for Port Data command both start from • If you add the object named “sphere” to a model named “Fluffy”,
the current path. For example, if you click Explore in the property references to “sphere” are automatically updated to “Fluffy.sphere”.
editor of a leaf (left-most) Get Data, you can select anything starting If the ICE tree is on an object in the Fluffy model, the references are
from the scene root. However if a Get Data has a reference to a updated to “this_model.sphere” instead.
geometric object connected to its In Name, you can select properties
and attributes on that object.

Basics • 261
Section 14 • ICE: The Interactive Creative Environment

Getting and Setting Data in ICE Trees • When you get data by an explicit string reference, you get a set of
values with one value for each component. For example, if you get
Almost every ICE tree involves getting data, performing calculations, “sphere.PointNormal”, you get one 3D vector for each point of the
and then setting data. You can get and set any data using Get Data, Set sphere object; in other words, the context is per point of sphere.
Data, and other nodes found in the Data Access category of the Tools
tab in the preset manager. There are also some compounds for getting • When you get data at a location, the context depends on the
and setting specific data on the Task > Particles or Deformations tabs. context of the set of locations that is connected to the Source port
of the Get Data node. For example, if you start by getting
“grid.PointPosition”, then use that to get the closest location on
sphere, and in turn use that to get PointNormal, the data consists of
normals on the sphere but the context is per point of the grid. If
instead you started by getting “grid.PolygonPosition”, the context
would be per polygon of the grid.
You can get any data in the scene. Once you have a Get Data node in Getting Data at Locations
your tree, you can specify or modify the reference.
To get data at a location, plug any location data into a Get Data node’s
You can set only certain data: Source port. When a location is plugged into the Source port of a Get
• Some intrinsic attributes, such as PointPosition or EdgeCrease. Data node in this way, its Explorer button shows only the attributes
Other attributes are read-only, like PointNormal and PolygonArea. that are available at that location.

• Any dynamic attribute, including predefined ones like Force,


Velocity, and so on.
• Any property in Softimage except for kinematics.

Getting Data
You get data using Get Data nodes. You can add a Get Data node to
your scene by dragging it from the preset manager (it’s in the Data
Access category of the Tools tab) or by selecting it from the Nodes >
Data Access menu. You can also get a specific object or other element
by dragging its name from any explorer view. Once you have a Get
Data node in your tree, you can specify or modify the reference as
described in Specifying Scene References on page 260.
You can get data by explicit string references or at locations.

262 • Softimage
Building ICE Trees

You can use this technique to get data from other objects using Reusing Get Data Nodes
geometry queries like Get Closest Location nodes. For example, you
You can connect the same Get Data node to as many nodes as you want
can get PointNormal at the closest location on a sphere.
if you need the same data elsewhere in the tree. However if the data has
changed in-between, the Get Data node will return the new data later
in the tree.

If an attribute is stored on points, you can still get it at an arbitrary


location. The value is interpolated among the neighboring point
values.
You can convert a location on a geometry into a position (3D vector)
by getting the PointPosition attribute at that location.

The Get Self.Foo node returns different values to Stuff and More Stuff because
Self.Foo was set in-between.

Basics • 263
Section 14 • ICE: The Interactive Creative Environment

Setting Data Debugging ICE Trees


To set data, use the Set Data compound. You can find this node in the ICE includes some basic tools that help you identify and correct the
Data Access category of the Tools tab in the preset manager, or on the different types of problems you may encounter when building ICE
Nodes > Data Access menu. Simply specify the desired reference and trees.
value, either through connections or directly in the property editor. See
Specifying Scene References on page 260. Structural Problems
Not all attributes can be set. Read-only attributes like NbPoints are not Structural problems are caused by incompatible data types, contexts,
shown in the Set Data node’s explorer. or structures in the tree. Nodes that are in error because of structural
problems are displayed in red, and other nodes in that branch that will
You can set data using an explicit string reference only. You cannot set not be evaluated because of the error are displayed in yellow. If you
data at locations. To set an attribute, you must be in the appropriate have red nodes, or if you cannot connect nodes that you think should
context. For example, to set PointPosition, you must be in the per point be connectable, then your tree has structural problems.
context of the appropriate object.
Messages on ports and nodes help you identify structural problems:
If data has been set for some but not all components in a data set,
uninitialized components have default values: zero for most data types, • Hover the mouse pointer over a port to display a pop-up message
false for Booleans, identity for matrices, black for color, etc. showing the data types, context, and structure that the port
supports, for example, “Array of 3D Vector per Point of
Setting Custom Attributes “PointCloud.pointcloud”.
To create a custom attribute, simply use a Set Data node and make up a • To see more detailed information about a port, right-click over a
new attribute name. Don’t forget to include the full reference including port or connection and then choose Log port type details.
the object name, for example, “PointCloud.my_custom_attribute”. Information is logged to the history pane of the script editor.
You can use custom attributes to store any type of value, including • If a node is red (in error), hover the mouse pointer over it (not over
locations. The context and data type of custom attributes are a port) to see the first error message. To see all error messages,
determined by the connected nodes. If the data type is undetermined, right-click over the node and choose Show Messages.
the Set Data node is in error (red) —you can use a node from the
Constant category to force a specific data type. If the context is • When you drag an output port onto an incompatible input port, a
undetermined, it defaults to the object context. However, this context pop-up message informs you of the conflict and shows the data
can be changed to a component context if you connect nodes that force types, contexts, and structure that are supported by the two ports.
a different context, as long as there are no conflicting constraints on the
context.

264 • Softimage
Building ICE Trees

Logical Problems Performance Problems


If a tree is working but not doing what you think it should be doing, it You can profile the performance of ICE trees by displaying execution
may be that the values being passed to ports are not what you expect times directly on nodes in the ICE tree viewer. This shows you which
them to be. nodes take the most processing time, and lets you see where you can try
to optimize the tree.
You can display port values in the 3D views by right-clicking on a
connection and choosing Show Values. There are several options for
controlling the color, style, and placement of the information.
When port values are displayed, a V icon appears on the connection. D A B C
Click the icon to change display properties, or right-click and choose
A Start Performance Timers. Activates and deactivates performance
Hide Values to remove the display. logging. Typically, you activate this and then play back or advance
frames.

B Reset Performance Timers. Clears the performance numbers.


When you have made changes and want to start logging the new
performance values, click this.

C Performance Highlight. Choose one:


• No Highlight. Displays nodes and ports normally.
• Time (Top Thread). Shows the performance of the worst thread
per node. The number on the root ICETree node is still the total for
the entire tree and its inputs.
• Time (All Threads). Shows the total performance of all threads per
node.
Displaying values on this connection. D Update. You may need to click this to see new values.

Basics • 265
Section 14 • ICE: The Interactive Creative Environment

Adding a Comment or Two


When you’re building a tree, it’s
immensely useful to write down notes
about it as you go, especially when a
tree grows many branches. You can
easily do this by adding comments to
individual nodes in a tree or to a group
of nodes.
To add a comment to a single node, right-click on it and choose Create
Comment. Enter the comment text and set its color.
To add a comment that is not connected to
any specific node, use a Comment node. o

To add a comment a group of nodes, use a


Group Comment node. To move the comment along with the node
group, middle-click and drag in the comment area. Group Comment
colors are visible in the bird’s eye view, so they are a handy way of
visually organizing your trees.

266 • Softimage
ICE Compounds

ICE Compounds
Compounds are ICE nodes that are built from other nodes, which can
be base nodes or even other compounds.
1
You can use compounds to simplify and organize your ICE trees to
make them easier to read and understand, but the real advantage of
compounds is that you can export them and reuse them in other ICE
trees and scenes, as well as share them with other users.
Softimage includes many pre-built compounds for performing specific
tasks. You can find these in the preset manager in the ICE tree view. 2
These compounds are built from the same nodes that are also available
in the preset manager. Inspecting the supplied compounds is a great
way to see how ICE trees work. You can then edit these compounds to
use them as a base for building your own effect.

Overview of How to Create and Use ICE Compounds

1 You can’t store the ICETree node in a compound, so insert an 3


Execute node to merge all the root connections into a single
output. To do this, right-click the ICETree node and choose
Insert Execute Node.
2 Select all the nodes you want to save in your compound. To 4
keep the compound generic, you should leave out object-
specific nodes (such as particle emitter data) so that you can
apply this effect to any appropriate object in any scene.
3 Convert the selected subtree into a compound: choose
Compounds > Create Compound from the ICE tree toolbar.
4 Edit the compound—see Editing Compounds on page 268.
6
5 Export the compound—see Exporting Compounds on
page 269.
6 You can modify the compound and re-export it—see
Versioning Compounds on page 270. 5

Basics • 267
Section 14 • ICE: The Interactive Creative Environment

Editing Compounds
When you edit a compound, you can change the compound name and
expose different ports of the nodes inside so that they are easily
accessible from your compound later on.
A

F L
B C D I

G J
K

268 • Softimage
ICE Compounds

Parts of the Compound Editor

A Opens the compound editor. Move the mouse over a compound I Expand or collapse the list of exposed output parameters (shown
node, and click the e icon that pops up. Or right-click on a compound collapsed). Here again, when the list is collapsed, you can display the
node (not over a port) and choose Edit Compound. name of a port by hovering the mouse pointer over its connection.

B Compound name. To change the name, double-click and type a new J Expose a new output port. Drag an output port from any node onto
one. the black circle. You can have as many output ports as you want.

C K Exposed output ports. Double-click on a port’s name to change it


Category is used to organize exported compounds on the Tool tab of
while the list is expanded. Right-click on a specific port to change the
the preset manager. To change the category, double-click and type a
order, remove it, or set properties. Not all properties apply to output
different name. To create a new category, simply enter a new category
ports.
name. The new category is automatically added to the preset
manager and Nodes menu when the compound is exported. If a L Exit and return to the parent tree.
compound has no category, it does not appear on the Tool tab of the
preset manager.
Exporting Compounds
D Tasks are used to further organize exported compounds by workflow
on the Task tab of the preset manager. Double-click to enter or Compounds are XML-based files that contain all the connections and
change a comma-separated list of tasks. Use a slash to separate tasks data of all the nodes in the tree. They are saved as .xsicompound files.
and subtasks, for example, “task/subtask,task1/subtask1”. To create a
new task or subtask, simply enter new names. New tasks and Exporting a compound allows you to use it in other trees and scenes,
subtasks are automatically added to the preset manager when the including sharing it with others by downloading to Softimage|NET.
compound is exported. If a compound has no task, it does not appear
on the Task tab of the preset manager. To export a compound, right-click on a compound (not over a port)
E Modify the tree by adding, editing, and connecting nodes in the usual
and choose Export Compound and give a file name and location for it.
way. You can then bring your exported compounds into an ICE tree in the
F Expand or collapse the list of exposed input parameters (shown usual way: from the preset manager, from the Nodes menu, using
expanded). When the list is collapsed, you can display the name of a Compounds > Import Compound, or by dragging it from a Softimage
port by hovering the mouse pointer over its connection. file browser or folder window.
G Expose a new input port or parameter. Drag this icon onto a node’s
input. Unlike ports, parameters don’t display a circle next to their If two or more compounds have the same name, Softimage
labels but you can still drag this icon onto them to expose parameters logs a warning message telling you the locations of the
such as references. version that will be used and the versions that will be ignored.
H Exposed input ports and parameters. Double-click on a port’s name to
change it while the list is expanded. Drag the circle icon onto another
node to share the input. Right-click on a specific port to change the
order, remove it, or set properties.

Basics • 269
Section 14 • ICE: The Interactive Creative Environment

Versioning Compounds
Softimage uses a built-in versioning system to manage updates to
exported compounds. You should use this versioning system instead of
renaming .xsicompound files manually; otherwise, you may end up
with multiple compounds that share the same name and version. If this
happens, Softimage warns you that the locations of the file that will be
used and the files that will be ignored.
The major and minor version numbers are stored in the .xsicompound
file. Major version changes are for large functional changes, while
minor version changes are for bug fixes and small adjustments.
If you modify a compound in an ICE tree and don’t export the new
version, it is identified by an asterisk.

Compounds that already exist in a scene are not updated automatically


even if new versions are available. You can update them individually, or
by using the Compound Version Manager (Compounds > Compound
Version Manager).

270 • Softimage
Section 15

ICE Particles
ICE is a complete visual programming environment
that’s allows you to create particle effects.
In the real world, you think of particles as being
small pieces of matter such as dust, sea salt, water
droplets, sand, smoke, or sparks from a fire. With
ICE particles, you can create all these types of
natural phenomena and so much more!

What you’ll find in this section ...


• Making ICE Particle Effects
• Particles that Bounce, Splash, Stick, Slide,
and Flow
• Particle Goals
• Spawning New Particles
• Particle Strands
• Particle Instances
• ICE Particle States
• ICE Rigid Bodies
• ICE Particle Shaders

Basics • 271
Section 15 • ICE Particles

Making ICE Particle Effects


In Softimage, ICE particles are simply points in a point cloud that are Creating ICE Particles
simulated using nodes in the ICE tree.
You can create ICE trees on a point cloud to create particle simulations.
While that doesn’t sound too exciting, you can actually create any type This point cloud can simply exist in the scene or it can have its points
of particle effect you want with them: you can make natural (particles) emitted from a scene element.
phenomena such as smoke, fire, and sparks. But you can also make
objects or characters act like particles: rocks tumbling, glass pieces You can emit particles from polygon meshes and NURBS surfaces,
breaking, grass growing, or humans running about. from within object volumes, from curves, from nulls, from multiple
objects and groups of objects, or even from any random position in
global space.

ICE firework particles are emitted


from different positions in space.
When they reach a certain position,
they explode into a new cloud of
spawned particles.

The point cloud’s simulated ICE tree


emits the particles and uses a state
system to determine the condition
under which the fireworks will explode
and spawn a new cloud.

272 • Softimage
Making ICE Particle Effects

Overview of ICE Particle Workflow


2

1
B

C
A

3
4

Basics • 273
Section 15 • ICE Particles

274 • Softimage
Making ICE Particle Effects

1 Create a point cloud or emit particles: The simplest way is to 3 Edit the Emit parameters: These define how the particles will
select one or more objects to be the particle emitter(s) and look and act when they are emitted: set the particle rate,
then choose ICE > Create > Emit Particles from Selection on speed, orientation, direction, color, mass, etc.
the Simulate toolbar. This automatically creates a point cloud
4 Delete particles at their age limit: The Set Particle Age Limit
and sets up certain nodes in the ICE Tree for that point cloud.
compound determines how long the particle will live, then the
You can also set up these nodes in the ICE tree from scratch. Delete Particles at Age Limit compound does its job.

2 Open the ICE tree view: press Alt+9 or choose ICE > Edit > If you don’t put a limit on their age, the particles live the
Open ICE Tree on the Simulate toolbar to open it in a floating duration of the simulation, which you may want for some
window. effects.

A • The ICETree node is the main processing operator in an 5 Add forces to make the particles move. The Add Forces
ICE tree. Because this is a particle simulation, the ICETree compound is a hub into which other forces can be connected.
node type is simulated. Here, only the Turbulence value is modifying the force, but
you could easily add other forces.
B • The disc is the particle emitter object. The Get Data node
for it simply gets the disc’s object data so that it can be 6 Build the particle ICE tree: Plug in different nodes for
used in the ICE tree. different effects. Remember this:

C • The Emit compound is responsible for emitting the • When you plug nodes into the ICETree node, their output
particles and setting certain particle attributes (such as gets evaluated at every frame. You want to do this if you
size, color, velocity, mass, shape, etc.) at emission time. At want the particle data to be updated throughout the
every frame, it adds points to the point cloud. simulation, not just when the particles are emitted.

The Emit compounds are always plugged into the top of • When you plug nodes into any of the Emit compounds,
the ICETree node in a particle simulation because you their output is evaluated only once, upon particle
need to emit the particles before anything else can happen emission. This means that data from this node won’t
to them. change the particles during the rest of the simulation.
• You can connect ports together only if their data matches
D • The Simulate Particles node updates the position and
in type and context.
velocity of each particle at each frame based on its mass,
position, and velocity of the previous frame. 7 Create a compound: This step is not necessary, but creating a
This node is usually plugged into the bottom of the compound of this particle effect lets you use it in other scenes
ICETree node because it needs to take all information or share it with others.
from the nodes that precede it and then use that 8 Render the particles as volumes using ICE particle shaders, or
information to update each particle at each frame. render particles as surfaces using Softimage surface shaders.

Basics • 275
Section 15 • ICE Particles

Setting Up a Particle Emission From Scratch


You can create any type of particle emission by creating and connecting
nodes yourself in a point cloud’s ICE Tree.

1 4

3 2

1 Create a point cloud by choosing Get > Primitive > Point 4 Drag one of the Emit compounds from the preset manager
Cloud > Empty Cloud (or any of the shapes) from any into the ICE tree view.
toolbar.
5 Drag the Simulate Particles node from the preset manager
2 In the ICE tree view, create a Simulated ICE Tree node: from into the ICEtree view.
the menu bar of the ICE Tree, choose Create > Simulated ICE Plug all the nodes together as shown here. You can then
Tree. continue to build your ICE tree as you like.
3 Drag the emitter’s name from an explorer into the ICE Tree
view to create a Get Data node for it. An easy way is to select
the object and press F3 so that a floating explorer opens, then
drag the emitter’s name from there into the ICE Tree.

276 • Softimage
Particles that Bounce, Splash, Stick, Slide, and Flow

Particles that Bounce, Splash, Stick, Slide, and Flow


There are several compounds that let you control a particle’s motion
and the way it interacts with object surfaces. These compounds are Making a Splash
fairly complete within themselves, but you can also use them in