You are on page 1of 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
The Emit Splash from Surface Collision compound lets you emit a
conjunction with State systems as part of a larger effect. Within a State
splash of new particles upon impact with an obstacle in a collision.
system, you can choose one of these compounds to create the effect
This can be useful for creating effects like dust puffing up as a foot steps
that happens when a trigger compound’s value is reached: for example,
on the ground, mud splashing up as a ball hits a mud puddle, or sparks
new particles can be spawned when they collide with an obstacle.
flying as two metal objects collide.
When particles collide with an obstacle’s geometry, the collision
geometry type that is used for the obstacles is its actual shape. As well, Sliding and Dripping Off
the particle’s size is taken into account upon collision. However, if Using the Slide on Surface compound, you can make particles cling to
you’re using instances as the particle geometry, an approximated box and then slide on an obstacle’s surface. Obstacles can be shape-
(or sphere) is created around it: its actual shape is not used. animated and the particles will follow the shape of the changing
surface.
Bouncing
You can set the conditions in which the particles will drip off the
Using the Bounce Off Surface compound, you can make particles
obstacle, such as the obstacle being at a certain angle or a force
bounce off any number of obstacles upon collision. This is useful for
threshold being reached. This is useful for creating sweat, water
creating ballistics, fragments, rain, or other debris bouncing off
condensation, or other liquid drops sliding down a surface and then
surfaces.
dripping off.
Sticking - and Letting Go
Flowing Along a Curve
Using the Stick to Surface compound, you can make particles stick to
You can make particles flow along a curve using the appropriately-
an obstacle’s surface upon collision and remain there for the duration
named Flow Along Curve compound. This is useful for when you need
of their lifetime, such as paint being sprayed onto a surface. If the
particles to follow a path or direction, such as a school of fish
obstacles’s geometry is deform- or shape-animated, the particles will
swimming and turning suddenly, blood cells flowing through arteries,
follow the shape of the changing surface.
or lava oozing in streams down a mountain.
If you want the particles to unstick, you can set up some condition that
makes them fall off, such as the obstacle being at a certain angle or a Flowing Around an Object
force threshold being reached. You can make particles flow around an obstacle using the Flow Around
Surface compound. This is useful for doing effects such as water
flowing around a rock in a stream, or for doing crowds/flocking
simulations where the characters need to move around an obstacle.

Basics • 277
Section 15 • ICE Particles

Stick
Splash

Bounce

Slide

Flow Along Flow Around

278 • Softimage
Particle Goals

Particle Goals
When you create a goal for particles, the particles are attracted to it or Goals are part of the overall particle simulation, which means that any
repelled from it, similar to magnets. With goals, you can create a particles that are progressing toward a goal can also react to any other
number of particle effects, such as drops of water forming into a forces that are applied to them. In fact, goals are a force on particles,
puddle, paint being sprayed over a surface, or butterflies following the similar to how an attraction force works.
infamous ClubBot.
Creating goals requires the Move Towards Goal compound. This
compound lets you do two things: choose the location on the goal
object to which the particles are attracted (or repelled) and define how
the particles move toward the goal, such as their speed, acceleration,
and alignment with the goal.

Moving Toward One Goal


You can set up a simple goal ICE tree with particles moving toward one
goal, as you see on the left with the butterflies fluttering toward the
walking ClubBot.

When a particle is born, it is assigned to a location on the goal object


that you have defined, and it evolves towards this location throughout
its life. This can be a random location on the goal, the location on the
goal that it closest to the particle, or any location that you specify on
the goal.
The particles try to reach the position and/or shape of the goal objects,
even as the goal moves or its surface is deformed. When the particles
reach the goal, their velocity decreases and they stop until the goal
moves or is deformed again.

Basics • 279
Section 15 • ICE Particles

Moving Towards Two Goals Moving From Goal to Goal


You can use two Move Towards Goal compounds with two goals and If you want to have particles move from one goal to another, you
the If node to have particles move to two goals at once based on a can create several sets of “Move Towards Goal+goal object”
condition that you set up. nodes, then plug each set into the Multi Goal Sequencer
compound.

280 • Softimage
Spawning New Particles

Spawning New Particles If you spawn particles into the same point cloud, the shaders and forces
on the spawned particles are the same as for the original point cloud.
Spawning generates new particles (points) from existing particles. You can, however, add new attributes to the spawned particles to
These new particles are often referred to as particle trails. Spawning change their color, size, shape, and so on.
makes it easy to create effects such as fireworks, laser shots, streams of
falling rain, or smoke trails. Spawning into a different point cloud is similar to creating a new
particle simulation because this point cloud has a separate ICE tree.
You can also use different shaders for that point cloud, giving you
control over the rendered look of the spawned particles.

Spawning Trails
The Spawn Trails compound gives you a basic way to spawn new
particles. Here, pixie dust is spawned as a trail to follow the original
particle as it travels upwards.

Different sets of spawned


particles create fireworks with
some help from a state system.

To spawn particles, you can use several different Spawn compounds,


either on their own or as part of a larger effect via a State system:
• Spawn Trails is the basic compound that creates particle trails.
• Spawn on Collision spawns particles upon collision with an object.
• Spawn on Trigger spawns particles when a trigger value is reached.
Each of the Spawn compounds is based on the Clone Point node. This
node is responsible for creating new particles which are an exact replica
of the original particles. The points, including all of their attributes
(except ID, which is unique), are copied from a point cloud and then
added to either the same point cloud or to another point cloud that
you select.

Basics • 281
Section 15 • ICE Particles

Spawning Upon Collision Spawning on Trigger


You can use the Spawn on Collision compound in conjunction with You can use the Spawn on Trigger compound with either a State
any of the Surface Interaction compounds (such as Bounce Off system or just a simple If node system. Either way, you need to
Surface) to have new particles spawned when a particle collides with set the condition upon which new particles are spawned.
an object.
Here, the small blue particles are spawned when the bubble-
Here, the small blue particles are spawned when an orange particle looking trail particles reach their age limit.
bounces on the surface of an obstacle.

282 • Softimage
Particle Strands

Particle Strands • Create Strands is the basic compound that creates particle strands.
You can use any particle shape for the strands.
Particle strands are solid shape trails that are drawn after a particle.
These solid shapes are actually continuous segments of the shape that • Generate Strand Trails lets you dynamically generate particle
you have chosen for the particle, such as spheres, rectangles, boxes, strands based on the length of the simulation and the number of
discs, blobs, or even instanced particle geometry. Strands makes it easy segments, such as for “growing” things like grass or vines. One
to create effects that require more solid-looking objects than trails, strand segment is created per second up to the maximum number
such as ribbons, seaweed, or hair, and much more. of segments that you have set.

Using the numerous Strands compounds, you have a lot of control over Because these two compounds create strands in different ways, you can
the appearance and movement of strands to create many types of use only one of them at a time on the same set of particles.
particle effects. There are two main compounds you can use to actually
create the strands using two different methods:

Create Strands

Generate Strand Trails

Basics • 283
Section 15 • ICE Particles

Modifying the Strands Viewing and Rendering Strands


You can use any of these compounds with either the Create Strands or You can view the strands as trails in a 3D view if you set the particle
Generate Strand Trails compound to change the strand behavior: shape or display type to Segment. The Segment shape draws a line
from each point position through each strand position point. You can
easily simulate hair using this shape type.
Bend Strand
If you want to see what the strands will look like rendered using any
shape type, however, you need to draw a render region.
You can render strands as surfaces using the Softimage surface shaders
(such as Phong, Lambert, etc.), or you can render strands as volumes
Strand Sine Wave
with the Particle Strand Gradient shader compound connected to the
Particle Volume Cloud shader (or the Particle Renderer or Particle
Shaper shader compounds).

Twist Strand

Turbulize Strand

284 • Softimage
Particle Instances

Particle Instances To use instances as particles, you assign them to the point cloud using
either the Instance Shape node or the Set Instance Geometry
You can use any 3D geometric object, hierarchy of objects, or group of compound in the ICE Tree:
objects in place of particles to create many different effects. For
example, you could use cars to create a flow of traffic or characters to • If the instanced objects are not animated, you should use the
create a crowd scene; or create flocking scenes with flying birds, Instance Shape node. This node provides the simplest and fastest
butterflies, or insects. The object is assigned to a particle and stays with way to create large numbers of instances whose geometry is not
that particle for its lifetime. animated.

• If the instanced object is animated, you can use the Set Instance
Geometry and Control Instance Animation compounds. If an
object’s transformation is animated, it has to be in relation to its
parent, and then you choose the parent as the instance object.

Instances are exact copies of their master object, including its materials
(color) and rendering information. However, instances inherit the
particle’s position, velocity, orientation, and size: the instance’s
transformation is not used, although children keep their relative
transformation to their parent.
If you’re using instances as particle shapes in collisions with an obstacle
(as rigid bodies or using a compound with surface interaction, such as
Bounce Off Surface), you can use an approximated box or sphere
around it: its actual shape is not used.

Basics • 285
Section 15 • ICE Particles

Using Groups of Instanced Objects


If you’ve selected a group of objects for the instances, you have some There are three compounds that help you control animated instances:
control over which object is instanced. The objects in the group are
• The Set Instance Geometry compound lets you choose the instance
picked according to their creation order, as shown in the explorer. You
object to use, as well as which frame of its animation to use as the
can choose View > Reorder Tool in the explorer to change the objects’
starting frame for each particle.
order in the group. You can also plug in a Randomize compound into
the Group Object Index port to change their order randomly. • The Control Instance Animation compound is like a playback
control for how you want the instance’s animation played during
0
the particle simulation. For example, if the instance’s animation
goes from frames 1 - 50, you can choose to use only frames 20 - 40
1
for its animation in the particle simulation.
2
3 • The Control Displacement Instance Animation compound scales
the instanced object’s animation according to its size when it
becomes a particle.
For example, in the image below are two simple animated rigs that
are used as master objects: one hopping, one rolling. When they
become instanced, they are much smaller than their original size,
so their animation cycles must go at a faster rate to cover the same
distance as the original animation.

Master objects Instanced objects as particles

Controlling the Instance’s Animation


If the instanced objects are animated, you can create crowds or flocking
scenes, such as with flying birds, butterflies, or walking characters. If
you’re doing a crowd, for example, each character can walk at a
different pace.
If an object’s transformation is animated, such as a walk cycle, it has to
be in relation to its parent. You then select the parent as the instance
object, and choose Object and Children in the Set Instance Geometry
compound.

286 • Softimage
ICE Particle States

ICE Particle States


Particle states offer a way of dividing particles into behavior groups. How to Create a Particle State System
States are basically a combination of two things: a trigger and an effect.
This is an overview of the state workflow using a simple example of
The trigger determines what causes the particles’ behavior to change, particles changing their size and shape when they reach their age limit.
and the effect is the behavior that the particles adopt when the trigger is
executed. Using these two elements, you can have many different
combinations of things happening to particles. Of course, state systems
can be much more elaborate than this, with many State compounds
defining many behavioral changes happening to the particles.
For example, you could create fireworks: the particle trail is seen going
up into the sky, then suddenly bursts into another particle cloud at the
end of its lifetime and leaves trails. Or by spawning particles at every
1
frame, you could create something simple such as the smoky trail left
by a hurtling fireball.

Each State compound you define is plugged into the State Machine
compound. This compound is the “grand central station” for the states.
The states are executed in the order in which they’re plugged into the 3
State Machine, from top to bottom.

Basics • 287
Section 15 • ICE Particles

288 • Softimage
ICE Rigid Bodies

ICE Rigid Bodies


1 Create a particle simulation. Then drag in a State Machine
compound and plug it into the ICE Tree node. ICE rigid body dynamics let you create realistic motion using particles
as rigid body objects, which are objects that do not deform in a
2 Drag in a State compound for each behavior set you want to collision. The PhysX dynamics engine that is used for creating non-ICE
define. Plug each one into the State Machine compound in the rigid bodies is also used for creating ICE rigid bodies.
order you want them executed.
With rigid body particles, you can create effects that involve many
3 Disconnect the Simulate Particles compound from the ICE small pieces that collide or accumulate, such as bricks, stones, or
Tree node. This is because each State compound has its own anything falling in a pile or being blasted apart.
Simulate Particles node inside.
The node that makes all this rigid body action happen is the Simulate
4 Give each state a unique ID to identify it in the system, and Rigid Bodies node. It updates a particle’s position, velocity, orientation,
give it a unique color to help you identify each state’s particles and angular velocity from the previous frame based on its rigid body
as you work. attributes (such as elasticity, friction, shape, size, and scale).
5 Get a trigger compound and plug it into the first State
compound. Here, the trigger compound tests when the age
limit of the particle is reached.
6 Define the trigger’s value. This is done by setting the particle
age limit value, which is set to 2 seconds here.
7 Specify the state to which you want the particle to transition
when the trigger is pulled. In this case, State 0 transitions to
State 1.
8 Get one or more effect nodes or compounds and plug them
into the second state. Here, these two Set compounds will set
the particle shape and size when the particle age limit is
reached. Rigid body particles can collide with geometric objects (obstacles) that
are set as rigid bodies—just plug them into an Obstacle > Geometry
9 Define the effect’s behavior. The values of the Set Particle
port on the Simulate Rigid Bodies node in the ICE Tree.
compounds are set so that the size decreases to 0.1 and the
shape is changed to a Cone when the particle age limit is Rigid body particles can also collide with each other if they’re in the
reached. same point cloud. To create the illusion of particles from several point
clouds colliding, you can use several emitters and/or emissions in the
10 You can keep adding state compounds and defining each ICE tree of a single point cloud. Then set up the emission properties
trigger/effect set by following steps 4 - 9 to create more for each to look like different particles.
complex effects.

Basics • 289
Section 15 • ICE Particles

Passive Rigid Bodies


By default, rigid body particles are active, meaning that they change
position and orientation when affected by forces and collisions with
other rigid body particles in the same point cloud, as well as with
obstacle objects.
Using the IsPassiveRigidBody attribute, however, you can make rigid
body particles passive so that they act as obstacles: their position does
not change when active rigid body particles collide with them. Luckily for the character, he’s set as passive in this situation, so he’s
unscathed by the collision with the wall.

This character is made up of rigid body particle cubes and is heading Not so lucky this time! Here, the wall is set as passive, but the
for a rigid body particle wall. What will happen? character isn’t. Ouch.

290 • Softimage
ICE Rigid Bodies

Collision Geometry Elasticity and Friction


The Simulate Rigid Bodies node calculates the particle and obstacle All rigid bodies use a set of collision attributes to calculate their
collisions according to the shape of their collision geometry. The reactions to each other during a collision. These attributes include
collision geometry used is different depending on whether the rigid elasticity and friction (static and dynamic).
bodies are particles or obstacle objects:
• Elasticity determines how much energy is retained when rigid
• For rigid body particles, this is a bounding shape (sphere, capsule, bodies collide. For example, when a basketball hits the ground, its
or box) that approximates the particle Shape that you have set. elasticity influences how much the ball rebounds.
Bounding shapes provide a quick solution for calculating particle
• Friction is the resistive force acting between rigid bodies that tends
collisions because they don’t have to calculate detailed geometry.
to oppose and dampen motion. For example, a bowling ball rolling
• For instanced geometry on the particles, a box or sphere is used, on a carpet would have more friction than if it was rolling on a
not the instanced object’s actual geometry. This is done to make the wooden floor.
calculation time faster.
It’s the combination of the friction and elasticity attributes of all rigid
• For rigid body obstacle objects, this is a convex hull. Convex hulls bodies involved in a collision that determines the results. Any rigid
give a quick approximation of an object’s actual shape, with the body attribute values you set for the particles are multiplied with the
results similar to an object being shrinkwrapped. Convex hull obstacle’s rigid body properties that you set.
doesn’t calculate any dips or holes in the rigid body obstacle’s
• You can set the Elasticity, StaticFriction, and DynamicFriction
geometry, but is otherwise the same as the obstacle’s original shape.
attributes for each rigid body particle in a point cloud using a Set
Data node.
• You can set the obstacle’s rigid body properties in the Simulate
Convex hull collision Rigid Bodies node’s property editor.
geometry for an obstacle.
The dip in the obstacle is not
calculated so the boxes Elasticity set to 1 on both the table
simply bounce off the (obstacle) and the particles.
obstacle top.

Elasticity set to 1 on only the


table (obstacle).

Basics • 291
Section 15 • ICE Particles

ICE Particle Shaders


In many basic ways, rendering particles is similar to rendering any You can also choose Get > Material > ICE Particle Volume from
other object in Softimage. You can use shaders, all standard lighting the Render toolbar to do some basic shader connection work for
techniques, set shadows, and apply motion blur. you.
To the mental ray renderer, particles (point clouds) are a surface, just • The Particle Density shader renders noise functions as density
like any other object in Softimage, which means that you can plug fields to create clouds, fireballs, smoke etc. This shader helps define
many of the regular shaders into a point cloud’s render tree to shade each particle’s shape within the point cloud’s volume so that it
the particles as surfaces. doesn’t look like a single volumetric mass.
However, when you render particles, you often want them to look like • The Particle Gradient shader lets you change the color and/or
certain types of volume-based phenomena, such as smoke, clouds, or density of the particles based on density, age, or any other ICE
fire. To help you do this, there are some special ICE shaders that are attribute that you define for the particles.
designed to create volumic effects on ICE particles.
• The Fractal Scalar and Cell Scalar shaders are actually texture
• The Particle Volume Cloud shader is the main particle shader that shaders, but they are very useful for adding noise to particle volume
renders the point cloud’s bounding box as a volume. effects, such as smoke, clouds, and fire.

Dragon breath particles are


rendered as a volume.

The point cloud’s render tree shows how


the particles get their volume and
definition from the Particle Volume and
Particle Shape compounds.
The color and density are defined by the
Particle Gradient shader, with a Fractal
Scalar adding noise to the density.

292 • Softimage
ICE Particle Shaders

The ICE Particle shaders and shader compounds can be found in the Connecting Particle Shaders
preset manager or in the Nodes menu in the render tree.
To apply shaders to the point cloud, you connect them in the render
tree. This gives you precise control over which shaders are connected
together using which ports.
The shaders that you choose to plug in to a point cloud’s Material node
depend on whether you want to render the particles as a surface or as a
volume.

Particle Surfaces
If you want to render particles as a surface, you can hook up any
surface shader to the Surface port of the point cloud’s Material node. In
fact, when you create an ICE particle simulation, the Phong shader is
connected to the point cloud’s Material node by default.
Particle Shader Compounds
Shader compounds are like ICE data compounds in that they contain
several connected nodes (in this case, shader nodes). Once you have
shaders hooked up together in the render tree as you like them, you can
create a compound that contains all of these shaders. This allows you to
create a standard particle shader effect, such as fire, that you can use in
different scenes or share with other people. Particle image sprites are rendered
Softimage ships with several particle shader compounds that you can onto rectangle particle shapes
using the Phong shader.
use as a starting point for your own shader effects.
• Start out with the Particle Renderer or Particle Shaper shader
compound to render a volume quickly. These compounds use the
Particle Volume Cloud shader as a base.
• The Particle Gradient Fcurve compound creates a curve that you
can plug into a Gradient port of a shader to control the gradient’s
falloff over distance.
• The Particle Strand Gradient compound sets up a color/alpha
gradient for rendering particle strands.
Particles using the Blob shape are rendered
using the Lambert shader.

Basics • 293
Section 15 • ICE Particles

Particle Volume Bringing ICE Data into the Render Tree


If you want to render particles as a volume, you need to first hook up The ICE attribute shaders allow you to control a point cloud’s shading
the Particle Volume Cloud shader (or the Particle Renderer shader in the render tree based on calculations done in the point cloud’s ICE
compound) to the Volume port of the Material node. tree. To use the attribute shaders, you must make sure that the particles
first have the appropriate attribute created for it in the ICE tree.
For example, you can control the particle’s transparency based on the
distance to a surface by creating an ICE tree that sets a
DistancetoSurface attribute, and then accessing that attribute in the
render tree via an attribute shader.
Another example is to override the color of the instanced particle
geometry with the particle’s Color or Init_Color attribute. You can use
the Attribute Color shader to do this.

Dry ice particle volume is


created with a combination
of several ICE particle
shaders.

The Fractal Scalar and Cell


Scalar shaders help to give
this particle volume a
unique look.
In the render tree, drag the appropriate shader from the Attributes
group in the preset manager or from the Nodes menu. There is one
Attribute shader per data type: Boolean, Color, Integer, Scalar,
Transform, and Vector.

294 • Softimage
Section 16

Shaders
A shader is a miniature computer program that
controls the behavior of the rendering software
during, or immediately after, the rendering process.
Some shaders compute the color values of pixels.
Other shaders can displace or create geometry on the
fly.
Shaders are used to create materials and effects in
just about every part of a scene. An object’s surface
and shadows are controlled by shaders. So are scene
lighting and camera lens effects. Even shaders’
parameters are usually controlled by other shaders.
You can even apply shaders at the render pass level
to affect the entire scene.

What you’ll find in this section ...


• The Shader Library
• About Surface Shaders
• Applying Shaders to Scene Elements
• The Render Tree
• Building Shader Networks
• Creating Shader Compounds

Basics • 295
Section 16 • Shaders

The Shader Library


Softimage’s shaders are divided into several different categories based
Light shaders define the
on how they are used in a render tree. shaders can be quickly and easily
characteristics of the scene’s light
accessed from the preset manager, the browser, an explorer view, or the
sources. For example, a spotlight
Nodes menu in the render tree view.
shader uses the illumination
direction to attenuate the amount
Surface shaders are one of the of light emitted. A light shader is
most important types of shaders. used whenever a surface shader
All geometric objects in a scene uses a built-in function to evaluate
have an associated surface shader, a light.
even if it is only the scene’s default
shader. Surface shaders determine If shadows are used, light shaders
an object’s basic color and normally cast shadow rays to
illumination characteristics. detect occluding objects between
Surface shaders are also the light source and the
responsible for object illuminated point.
transparency, refraction and
Lens shaders are used when a
reflectivity.
primary ray is cast by the camera.
They may modify the ray’s origin
2D texture shaders apply a two- and direction to implement
dimensional texture onto an cameras other than the standard
object, just as 3D texture shaders pinhole camera and they may
implement a three-dimensional modify the result of the primary ray
texture into an object. They are to implement effects such as lens
connected to the object’s surface flares, distortion, or cartoon ink
shader to define the object’s lines.
texture.

296 • Softimage
The Shader Library

Environment shaders are used Shadow shaders determine how


instead of surface shaders when a the light coming from a light
visible ray leaves the scene entirely source is altered when it is
without intersecting an object or obstructed by an object. They are
when the maximum ray depth is used to define the way an object’s
reached.They are used to create shadow is cast, such as its opacity
backgrounds for scenes, create and color.
quick-rendering reflections, light
scenes with High Dynamic Range Lightmap shaders sample object
Images, and so on. surfaces and store the result in a
file that can be used later. For
Volume shaders modify rays as example, you can use a lightmap
they pass through an object (local shader to bake a complex material
volume shader) or the scene as a into a single texture file. Lightmaps
whole (global volume shader). are also used by the Fast Subsurface
They can simulate effects such as Scattering and Fast Skin shaders to
clouds, smoke, and fog. store information about scattered
light.
There are also particle volume
shaders that help you create these
same types of effects on a point Photon shaders are used for global
BBC “Everyman”: Animation
by Aldis Animation cloud. illumination and caustics. They
process light to determine how it
floods the scene. Photon rays are
Toon shaders apply non- cast from light sources rather than
photorealistic or cartoon style from a camera.
effects to objects. They control cel-
animation type properties like
inking and painting.
To get a full toon effect, it’s best to
use the toon material shaders in
conjunction with the toon lens
shaders.

Basics • 297
Section 16 • Shaders

Output shaders operate on images Realtime shaders allow you to use


after they are rendered but before the render tree to build and control
they are written to a file. They can the multipass realtime rendering
perform such as glows, blurs, pipeline. You can connect these
background colors, and so on. shaders together to achieve a
multitude of sophisticated
rendering effects, from basic
surface shading to complex texture
Displacement shaders alter an blending and reflection.
object’s surface by displacing its
points. The resulting bumps are
visibly raised and can cast shadows. Geometry shaders are evaluated
before rendering starts. This allows
the shader to introduce procedural
geometry into the scene. For
example, a geometry shader might
be used to create feathers on a bird
Material phenomena are or leaves on a tree.
combinations of shaders that are
packaged into a single shader node.
These are often used to create more
complex rendering effects. Tool shaders let you create a shader
Connecting a material from scratch or extend an existing
phenomenon to an object’s one. Although some tool shaders
material prevents that material can be used on their own, many of
from accepting other shaders them must work in conjunction
directly, though you can extend the with another to achieve a highly
phenomenon’s effect by driving its customized effect.
parameters with other shaders. The Some examples of tool shaders
Fast Subsurface Scattering and Fast include: Color Channels,
Skin shaders are examples of Conversion, Image Processing,
material phenomena. Math, Mixers, and Texture
Generators, Texture Space
Controller, and Texture Space
Generators.

298 • Softimage
The Shader Library

The Preset Manager


A Select from Materials, Shaders, or ICE Nodes type of presets.
Many shaders and material (and ICE node) presets are installed with
B Select Favorites, All Nodes, or a specific category. You can add
Softimage, all accessible from the preset manager. items to your Favorites for easier access to presets that you use
frequently.
The preset manager is available on the left side of the render tree (and
the ICE tree). You can also open it as a floating window by choosing C Items in the selected category appear in this panel. You can drag and
View > General > Preset Manager from the main menu. drop materials onto objects and material libraries; shaders onto
objects and into render trees, and ICE nodes into ICE trees.
You can apply shaders or materials by dragging and dropping them
onto objects in the scene. This connects the shader or material to the D Sets thumbnail size and arrangement.
object’s Material node ports. E Refresh. Clicking this button forces an update. This may be
necessary if you have moved, added, or removed preset files on disk
You can also drag shaders or shader compounds into the render tree as
since opening the preset manager.
a shader node that you can then connect to an object’s tree to build up
an effect. F Enter all or part of a name to filter the presets that are displayed in
the right panel (3). Filtering works across all categories.
In this case, grad is entered, so all shaders in all categories that have
D E F G H “grad” in their names appear in the right panel.

G Recalls previous filter strings.

A H Clears the filter string (show all nodes). You can also delete the text
string to show all nodes again.
B

Basics • 299
Section 16 • Shaders

About Surface Shaders


Surface shaders are some of the most commonly used shaders in Blinn
Softimage. Each one defines an object’s basic surface characteristics,
Uses diffuse, ambient, and
like color, transparency, reflectivity, specularity, and so on, according to
specular color, as well as a
a specific shading model. Shading models determine how an object’s
refractive index for
surface reacts to scene lighting.
calculating the specular
Phong highlight. Blinn produces
results that are virtually
Uses ambient, diffuse, and identical to Phong except that
specular colors. This shading the shape of the specular
model reads the surface highlight reflects the actual lighting more accurately when there is a
normals’ orientation and high angle of incidence between the camera and the light.
interpolates between them to
create an appearance of Blinn is useful for rough or sharp edges and simulating a metal surface.
smooth shading. It also The specular highlight also appears brighter than the Phong model.
processes the relation between
Cook-Torrance
normals, the light, and the camera’s point of view to create a specular
highlight. Uses diffuse, ambient, and
specular color, as well as a
The result is a smoothly shaded object with diffuse and ambient areas
refractive index used to
of illumination on its surface and a specular highlight so that the object
calculate the specular
appears shiny, like a billiard ball or plastic.
highlight. It reads the surface
Lambert normals’ orientation and
interpolates between them to
Uses the ambient and diffuse create an appearance of
colors to create a matte smooth shading. It also processes the relation between normals, the
surface with no specular light, and the camera’s point of view to create a specular highlight.
highlights. It interpolates
between normals of adjacent Cook-Torrance produces results that are somewhere between Blinn
surface triangles so that the and Lambert and is useful for simulating smooth and reflective objects,
shading changes progressively, such as leather. Because this shading model is more complex to
creating a matte surface. The calculate, it takes longer to render than the other shading models.
result is a smoothly shaded object, like an egg or ping-pong ball.

300 • Softimage
About Surface Shaders

Strauss Constant
Uses only the diffuse color to Uses only the diffuse color. It ignores the orientation of surface
simulate a metal surface. The normals. All the object’s surface triangles are considered to have the
surface’s specular is defined same orientation and be the same distance from the light.
with smoothness and
It yields an object whose
“metalness” parameters that
surface appears to have no
control the diffuse to specular
shading at all, like a paper
ratio as well as reflectivity and
cutout. This can be useful
highlights.
when you want to add static
Anisotropic blur to an object so that there
is no specular or ambient
Sometimes called Ward, this light.
shading model simulates a
glossy surface using an Toon
ambient, diffuse, and a glossy
This model begins with a
color. To create a “brushed”
constant-shading-like base
effect, such as brushed
color. Ambient lighting, as
aluminum, it is possible to
well as highlights and rim
define the specular color’s
lights are composited over the
orientation based on the object’s surface orientation. The specular is
base color to produce the
calculated using UV coordinates.
final result.
The result is a cel-animation type of shading that can vary enormously
depending on how you configure the highlights and rim lights. The
toon shading model is typically used in conjunction with the Toon Ink
Lens shader (applied to the render pass camera), which creates the
cartoon-style ink lines.

Basics • 301
Section 16 • Shaders

Basic Surface Color Attributes Diffuse

You can create a very specific color for an object by defining its This is the color that the light
ambient, diffuse, and specular colors separately on the Illumination scatters equally in all
page of its surface shader property editor. directions so that the surface
appears to have the same
To open an object’s surface shader property editor, select the object and brightness from all viewing
choose Modify > Shader from the Render toolbar. angles. It usually contributes
the most to an object’s overall
appearance and it can be
considered the “main” color of the surface.

Ambient
This color simulates a
uniform non-directional
lighting that pervades the
entire scene. It is multiplied
by the scene ambience value,
The combined result of the ambient, diffuse, and and blended with the diffuse
specular colors/lighting contributions. color. Often, the ambient
color is set to the same value
Not all shading models support all of these basic characteristics. For as the diffuse color, allowing the scene ambience to provide the
example, only the Phong, Blinn, Cook-Torrance and Anisotropic ambient color.
shading models support specular highlights (although the Strauss
shader’s Smoothness and Metalness parameters affect specularity).
Similarly, the Strauss shader does not support an ambient color, while Specular
most other models do.
This is the color of shiny
It’s also worth noting that because different shading models compute highlights on the surface. It is
these basic characteristics, the parameters that control the attributes usually set to white or to a
vary from one property editor to another. For example, the Anisotropic brighter shade of the diffuse
shader has much more elaborate specular highlight controls than the color. The size of the
Phong shader. highlight depends on the
defined Specular Decay
value. Specular highlights are
not visible in all shading models.

302 • Softimage
Reflectivity, Transparency, and Refraction

Reflectivity, Transparency, and Refraction As an object becomes more reflective, its other surface parameters,
such as those related to diffuse, ambient, and specular areas of
In addition to controlling an object’s basic surface shading illumination, become less visible. If an object’s material is fully
characteristics, surface shaders also control reflectivity, transparency, reflective, its other material attributes are not visible at all.
and refraction. Parameters for controlling these attributes are on the
Transparency/Reflection tab of the surface shader’s property editor. Reflectivity values are defined using color sliders. Setting the color to
black makes the object completely non-reflective, while setting the
To open an object’s surface shader property editor, select the object and color to white makes it completely reflective. If necessary, you can even
choose Modify > Shader from the Render toolbar. control reflectivity in individual color channels.

Reflectivity Controlling Reflectivity with Textures

A surface shader’s Reflection parameters control an object’s reflectivity. You can also control reflectivity using a texture by connecting the
The more reflective an object is, the more other objects in the scene texture to the surface shader’s reflectivity input.
appear reflected in the object’s surface.
In this example, the surface
shader’s reflectivity
parameter is connected to a
simple black and white stripe
No reflectivity in gray texture.
ball’s material The white areas are
reflective, while the black
areas are not.

35% reflectivity Normally, grayscale images are used since black, white and shades of
gray adjust reflectivity uniformly in all color channels. Black areas of the
image make the corresponding portions of the object non-reflective,
white areas make the corresponding portions of the object completely
reflective, and gray areas make the corresponding portions of the object
partially reflective.

Basics • 303
Section 16 • Shaders

Transparency Controlling Transparency with Textures


A surface shader’s Transparency parameters control an object’s As with reflectivity, you can also control transparency using a texture
transparency. The more transparent an object is, the more you can see by connecting the texture to the surface shader’s reflectivity input.
through it.
In this example, the surface
shader’s transparency
parameter is connected to a
simple black and white
75% transparency stripe texture.
The white areas are
transparent, while the black
areas are opaque.

70% transparency with Normally, grayscale images are used since black, white and shades of
30% reflection. gray adjust transparency uniformly in all color channels. Black areas of
the image make the corresponding portions of the object opaque,
white areas make the corresponding portions of the object completely
transparent, and gray areas make the corresponding portions of the
As with reflectivity, transparency affects the visibility of an object’s object partially transparent — or translucent.
other surface attributes. You can compensate for this by increasing the
attributes’ values, such as changing specular color values that were 1 on
an opaque object to 10 or higher on a transparent object.
Transparency values are also defined using color sliders. Setting the
color to black makes the object completely opaque, while setting the
color to white makes it completely transparent. If necessary, you can
even control transparency in individual color channels.

304 • Softimage
Reflectivity, Transparency, and Refraction

Refraction
When transparency is incorporated into an object’s surface definition,
you can also define the refraction value. Refraction is the bending of
light rays as they pass from one transparent medium to another, such
as from air to glass or water.

Refraction value of 0.9

Refraction value of 1.1

You can set the index of refraction from a surface shader’s property
editor. The default value is 1, which represents the density of air. This
value allows light rays to pass straight through a transparent surface
without bending. Higher values make the light rays bend, while values
less than 1 makes light rays bend in the opposite direction, simulating
light passing from air into an even less dense material (such as a
vacuum).
Refractive index values usually vary between 0 and 2, but you can type
in higher values as needed.

Basics • 305
Section 16 • Shaders

Applying Shaders to Scene Elements


There are a number of ways to apply and connect shaders in Softimage. • Netview: Drag and drop a shader or material preset from a netview
You can use any of these methods depending on the tool you prefer to window (press Alt+5) onto the appropriate type of object to apply
use or the task you need to perform. it, or drag it into the render tree as a node.
• Render tree: You can connect many shader nodes together to build • Render toolbar:
up a tree for the object. Easy! See The Render Tree on page 307.
- Choose Get > Material on the Render toolbar to create and apply
materials to selected objects.
- The Get > Shader menu has sub-menus containing shaders that
you can connect to all of an object’s Material node’s input ports.
- The Get > Texture menu lists commonly used texture shaders
and allows you to connect them to any combination of a surface
shader’s ambient, diffuse, transparency and reflection ports.

• Material manager: You can use this tool to create and apply a • Shader’s property editor: A shader’s property editor contains all
material to an object. See The Material Manager on page 317. the parameters that you can edit. To the right of each parameter,
there is a “plug” connection icon . Clicking this icon opens a
menu that lists shaders that you can attach directly to that
parameter.

• Preset manager: Drag an drop a shader or material preset from • Shader stacks: Some scene elements, like render passes and
here onto the appropriate type of object to apply it, or drag it into cameras, have shader “stacks” in their property editors where you
the render tree as a node. See The Preset Manager on page 299. apply shaders that affect the whole scene rather than individual
objects.

306 • Softimage
The Render Tree

The Render Tree


The render tree is where you can connect shader nodes together to Shaders in the render tree are called nodes as a way of describing their
build trees that create a visual effect for an object. You can have one representation as a container. These nodes can be single shader nodes
render tree per object. or shader compound nodes. Shader compounds are shader “packages”
built from shader nodes and possibly other shader compounds.
To open the render tree, select an object and press 7 or choose View >
Rendering/Texturing > Render Tree. Click the Refresh icon in the Every shader’s node exposes a set of inputs and outputs (called ports)
render tree to show the shader nodes available for that object. for most or all of a shader’s parameters. You connect shaders together
by simply dragging a connection arrow from one shader’s output port
to another shader’s input port. It’s so easy!

A B C D E F G H I

J L

Basics • 307
Section 16 • Shaders

Connecting Shader Nodes


A Memo Cams. You can save and restore up to four views of the
render tree workspace. You connect shader nodes by clicking and dragging an output port
B Lock. Prevents the view from updating when you select other objects from the right side of one shader node onto an input port on the left
in the scene. side of another shader node. Data flows along the connection from the
first node and is processed by the second node. All data ends up being
C Refresh. When the view is locked, clicking this button forces it to processed by the Material node.
update with the current selection in the scene.

D Clears the render tree workspace. Data travels from .. and is processed
this node’s output by this node via its
E Opens the preset manager in a floating window. port ... input port.

F Displays or hides shaderballs on the shader nodes.

G Displays or hides the preset manager embedded in the left panel


(10).

H Name and path of the current Material node.

I Bird’s Eye View. Click to view a specific area of the workspace, or When a port is connected, the value of its corresponding parameter is
drag to scroll. Toggle it on or off with Show > Bird’s Eye View. driven by the connection, which means that you can no longer set the
parameter’s value in that shader’s property editor. In fact, the
J Embedded preset manager shows all shader nodes and compounds
that are available to use. parameter and its controls (checkboxes, sliders, etc.) are not even
You can drag and drop shader nodes from here into the render tree
displayed. If you remove the connection, the controls reappear in the
workspace. You can also get shaders from the Nodes menu. property editor.

K The render tree workspace. This is where you can connect shader
nodes together to build trees.

L Connection arrow between shaders’ output and input ports shows


the data flow between them. Data always flows from the left to the
right of the tree.

M Shader node. This shader is a texture shader, as indicated by its light


green color. Each type of shader has a different color.

N Texture layers. These layers let you mix several textures together so
that each texture is blended with the cumulative result of the
preceding textures.

O Material node: This node acts like a placeholder for every shader that
is applied to an object. Every object must have one or it won’t render.
Its input ports support each type of shader.

308 • Softimage
The Render Tree

Node Color Codes The following table shows which input/output port color is assigned to
which type of value:
Every shader node in the render tree is color coded, as are each of its
ports. This coding system helps you visualize which shaders are doing
what within their render tree structures. Color Input/ Result
Output Port
Material node Realtime shader Color Returns or outputs a color (RGB) value.
These ports are usually used in
Material phenomenon Volume shader conjunction with the surface of an object
or when defining a light or camera.
Surface shader Output shader
Scalar Represents a scalar input/output with
Texture shader Lens /camera shader any value between 0 and 1.
Vector Represents an output/input that
Lightmap shader Light shader
corresponds to vector positions or
Environment shader coordinates.
Boolean Represents an input/output that
Click the arrow to expand Click the port to create a corresponds to a 0 or 1, or On/ Off.
or collapse a node. connection arrow.
Integer Consists of a single integer (such as 2 or
73).
Selected nodes are highlighted in white.
Texture/ Accepts or returns an image file.
Shader node ports are also color coded. A node’s output is indicated by Image Clip
a port (colored dot) in the top right of the node, while each input port
is indicated on the left side of the node. The color of a port identifies RealTime Accepts connections from other realtime
what type of input value the port will accept, and what type of value it shaders and outputs to other realtime
will output. shaders or to the Material node’s
RealTime port.
Lightmap Outputs the result of a lightmap shader
to the Material node’s Lightmap port.
Material Outputs the result of a material
Phenomenon phenomenon shader to the Material
node’s Material port.

Basics • 309
Section 16 • Shaders

Building Shader Networks


The process of building shader networks in the render tree is best
4 Connecting a Bump Map generator shader to the material
explained visually. Essentially, you create an effect by connecting
node’s Bump Map port adds some bumpiness to the mug’s
shaders to an object’s material, using other shaders to control those
surface. Note how this affects the reflections from the
shaders’ parameters, and so on.
environment map. The mug now looks more like stoneware
There are no hard and fast rules for how shaders should be connected, than porcelain.
and experimenting with different connections is usually rewarding.
5 Finally, connecting an Ambient Occlusion shader between the
What follows is a simple example of how to connect shaders in the Phong shader and the material node’s Surface port darkens
render tree to build an object’s material. the mug where it occludes itself. The Phong shader’s branch,
which includes the textures, is connected to the Ambient
1 To begin with, the mug has a Phong shader connected to its Occlusion shader’s Bright Color port, while the Dark Color is
material node’s Surface port to create basic surface shading — set to black. The Ambient Occlusion effect is most visible on
ambient and diffuse colors, specular highlights and, in this the inside of the mug and the inner surface of the handle.
case, some reflectivity.
2 Since there are no other objects in the scene, the mug’s 1
reflectivity is not apparent. Connecting an Environment map
shader to the material node’s Environment port makes the
reflectivity visible and creates some reflections on the mug’s
surface.
3 Now it’s time to add some color and detail. Connecting two 2
textures to a Mix2Colors shader blends the textures together.
The combined result is then connected to the Phong shader’s
Ambient and Diffuse ports, coloring the mug’s surface.

310 • Softimage
Building Shader Networks

Basics • 311
Section 16 • Shaders

Creating Shader Compounds


In the render tree, you can hook up shaders together and set their You can create a shader compound containing any type of shader. The
values to create an effect. Once you have things set up as you like, you compound can contain many shaders connected together, or just one
can then create a compound of this tree that contains all the shaders. shader, if you like. Softimage ships with some shader compounds for
ICE particles and subsurface scattering effects — open them up and see
Shader compounds allow you to create an effect and save it in one
what makes them tick!
node, then use it in different scenes or share it with other users. You
can expose only the parameters of each shader that you want others to
.

see and adjust.

3
2

6 5 10 9

4
8

312 • Softimage
Creating Shader Compounds

Overview of Creating a Shader Compound


7 You can rename an exposed port by right-clicking on it and
These steps show the basic process of how to create a shader compound choosing Properties, then entering new names:
of your own.
• The Display Name is the one that is displayed in the
compound node in the render tree and in the compound’s
1 In the render tree, select all the shader nodes you want to save property editor. If this is blank, then the display name is
in the compound. To keep the compound generic, you should the same as the Name.
leave out the Material node so that you can apply this
compound to any object. • The Name is the one that is displayed in the blue bar on
the left here and is used in scripting.
2 From the render tree toolbar, choose Compounds > Create
Shader Compound. Double-clicking on an exposed port or right-clicking and
choosing Rename sets the scripting name only, not the display
This creates a compound named ShaderCompound, which name.
contains all the shaders that have just disappeared.
8 Create the output port by dragging an output port from the
3 Click the little e on your new compound to edit it. This opens shader on the furthest right (the shader into which all other
up the compound editor in which you can expose ports for shaders are plugged) to black dot on the bar on the right.
the compound. Only exposed ports will be available for
connections and editing back in the render tree. 9 In the bar at the top, double-click where ShaderCompound is
written and give your compound a class name (in this
4 The bar on the left shows all the exposed shader ports for your example, it’s Bonfire). Do the same for the Category, which is
compound. where it will show up in the groups in the preset manager,
such as Particle.
5 Click this arrow to expand or collapse the list of exposed input
parameters. When the list is collapsed, you can display the If you like, you can add comments to your compound to
name of a port by hovering the mouse pointer over its document how everything inside it works.
connection.
10 Click the little x box in the upper-left corner to close the
6 To expose a shader port, click the black circle beside Expose compound and return to the regular render tree.
Input and drag it to a port. That port is included on the bar.
Keep doing this for every port you want to expose. 11 Choose Compounds > Export Shader Compound from the
render tree toolbar to export your compound so that it can be
used in other scenes or by other users.

Basics • 313
Section 16 • Shaders

314 • Softimage
Section 17

Materials
In Softimage, an object’s look and feel is defined by
one or more shaders that are plugged into the
object’s material node. The material node itself
provides access to the object’s attributes while the
shaders control how those attributes appear when
rendered. This section introduces ways of creating
and working with materials.

What you’ll find in this section ...


• About Materials
• The Material Manager
• Creating and Assigning Materials
• Material Libraries

Basics • 315
Section 17 • Materials

About Materials
Every object needs a material. In Softimage, the term “material” is used When you assign a local material to an
to refer to the cumulative effect of all of the shaders that you use to alter object, it replaces the default scene
an object’s look and feel. Strictly speaking, though, materials in material for that object only. If you
Softimage are really just containers for an object’s various attributes. If remove or delete the object’s local
an object’s material has no shaders attached to it, nothing defines the material, the object inherits the default
object’s look, and the object won’t render. scene material again.
The easiest way to understand what a material is to You can modify the default scene Default Scene Material
look at it in the render tree where it is represented by a material as you would any other
Material node. The Material node lists all of the material and the changes are applied to any objects that inherit it.
inputs to a given material. These inputs are
If you delete the default scene material, the oldest created material in
sometimes referred to as “ports.” Each port controls a
the scene becomes the new default material, and is assigned to all
set of object attributes. When the material is assigned
objects to which the previous default material was assigned (whether
to an object, the shaders that you connect to these
explicitly or through propagation).
ports alter the corresponding attributes.
For example, the Surface port controls object surface Materials and Surface Shaders
characteristics. By connecting a shader or a network
of shaders to this port, you can change an object’s It’s worth noting that all new materials that you create in Softimage
color, transparency, reflectivity, and so on. The important thing to start out with some type of surface shader attached to them. This
understand is that nearly every change you make to an object’s provides basic surface shading so that the material is renderable from
appearance involves connecting shaders to define the object’s material. the beginning. For example, if you create a material from within a
material library, it has a Phong shader attached to its Surface, Shadow,
The Default Scene Material and Photon ports. If you create a material using a command from the
Render toolbar’s Get > Material menu, you can choose a surface shader
Every new scene has a default material, called Scene_Material, which is to attach to the material.
assigned to the scene’s root in branch mode. An object (in a hierarchy
or not) that does not inherit a material from a parent, and does not By default, new materials
have a locally-defined material, inherits the scene’s default material. In have a surface shader, like
the explorer, you can view the default material in the material library’s the Phong shader, attached
hierarchy, or as a node of the scene root, which you can display by to them.
choosing Local Properties from the Show menu.

316 • Softimage
The Material Manager

The Material Manager


The material manager is a tool that is designed for creating, managing, You can open the material manager by pressing Ctrl+7 or choosing
and editing all your materials and libraries. Modify > Materials from the Render toolbar. Its different areas are
outlined here.

A B D C

Basics • 317
Section 17 • Materials

A The left panel contains the explorer that has the Scene (cluster) and Scene and Image Clip Explorer
Image Clip tabs—see the image on the right for more details.
In the Scene explorer, you can switch between local materials
(applied locally on object or cluster itself) and applied materials.
Selecting a material in the explorer highlights it in the shelf and
displays it in the bottom panel.
A B
In the Image Clip explorer, all image clips in the scene are displayed.
C
B On the top, the command bar provides tools for applying materials,
such as creating, duplicating, or deleting materials, as well as tools D
for managing material libraries. E
C The middle right is a shelf with shaderballs for the materials in your
scene. Multiple libraries appear on separate tabs.

D Click a shaderball to select the material, or drag a shaderball onto an


object or cluster in the scene to apply it.
F
E The tabs on the bottom of the material manager can display one of
several views:
• The selected material in the render tree (default view). G
• The selected material in the texture layer editor.
• A list of image clips used by the selected material. Right-click on a
clip’s thumbnail for a context menu that allows you to edit a clip’s
properties and other options. In the Material Manager preferences, A Select the thumbnail size for the clips displayed in this list: small,
you can set the size of the thumbnails used on this tab. medium, large, or list view. You can turn off the display of the
thumbnails to optimize performance.
• A list of objects and clusters that use the selected material (Who
Uses?). In the Material Manager preferences, you can set the size of B Filters clips by All, Used, and Unused clips.
the thumbnails used on this tab.
C Filters clips displayed by scene layer.

D Filter clips displayed by user keywords.

E Filters clips displayed by name.

F Right-click a clip to display a context menu.

G Drag and drop one or more images into the image clip explorer panel
to create sources and clips.

318 • Softimage
Creating and Assigning Materials

Creating and Assigning Materials


Giving an object a material is the first step in defining its look. There Assigning Any Material
are a couple of different tools you can use to create new materials and
assign them to objects. Once you create a material, it belongs to a Once a material is created, you can access it from a material library and
material library, and you can assign it to as many objects as you’d like. then assign it to an element in your scene. The material manager
provides you with several ways of doing this, but you can also use the
explorer or the Get > Material > Assign Material command on the
Creating a New Material
Render toolbar.
You can create materials and assign them to objects using the material
This is one of the easiest ways to assign a material using the material
manager, the explorer, or the Get > Material commands on the Render
manager.
toolbar.
1. Click a tab to select a material library.
With any of these methods, a new material is created, consisting of a
Material node with a Phong shader connected to its Surface, Shadow, 2. Select a material you want to assign.
and Photon ports.
3. Drag the material’s shaderball and drop it on an unselected object,
The easiest way to do this is to use the material manager. or on one or more selected objects to apply it.
1. Select one or more objects.
1
2. Click the Create New Material icon, or choose a material from the
Create menu.
3. Click the Assign Material to Selected Objects icon to apply the
material to the objects.

2 3
2 3

Basics • 319
Section 17 • Materials

Assigning Materials to Polygons and Clusters Assigning Materials to Hierarchies


Using the same tools and techniques that you use to assign materials to You can assign a material to a hierarchy’s parent object using the same
objects, you can assign materials locally to selections of polygons and/ tools and techniques that you use to assign materials to objects. The
or polygon clusters on a polygon mesh object. If you choose the only thing different is that you must middle-click the parent object to
former, a cluster is created from the selection. The cluster’s local branch-select it. Children in the hierarchy that don’t have a locally
material always overrides the one assigned to the entire object. assigned material then inherit the parent’s material.
For example, if you have an object such as a table, you may want the
legs and top to be the same color. If you assign a material to color the
parent (table top), the material definition is propagated to its children
(table legs).
Materials assigned to hierarchies are subject to the same rules of
propagation as any other properties.

Simple Propagation
Polygon mesh object with Object with specific Local material assigned
global material assigned. polygons selected. to selected polygons. The larger sphere was branch-selected and
given a checkerboard material. Because it was
applied in branch mode, the material is
In the explorer, a cluster’s material appears under the cluster’s node, inherited by all the descendants.
rather than directly under the object’s node. To access it, expand the
object’s Polygon Mesh > Clusters > name of cluster node.

The cluster’s
material is here.

Local Material
The object’s Application
material is here.
One sphere was selected
and given a blue material.
If you remove a material from a cluster, the material inherits the This material is local for the
selected object only, but
material either assigned to or inherited by the object. not for any of its children.

320 • Softimage
Material Libraries

Material Libraries
Most properties in Softimage are owned by the scene elements to which Storing materials in a library makes it easy to share a single material
they’re applied. Materials, on the other hand, belong to material between several objects. It also allows you to access and edit all of the
libraries. Material libraries are common containers for all of the materials in a scene from a single place. Furthermore, because
materials in a scene. Each time you create a material, it’s added to a materials belong to libraries and not to individual objects, you can
material library. Although all of the materials in a scene belong to a delete an object from the scene, but keep its material for later use. If
library, they are used only by the objects to which they are assigned. you no longer want to use a material, you can simply delete it once,
regardless of the number of objects to which it’s assigned.
The material manager is designed to let you easily view and manage
your material libraries. Most of the commands that you need for You can create as many material libraries as you need. For example, you
managing your libraries are found in the Libraries menu. might want to keep separate libraries for different types of materials
(wood, metals, rock, skin, scales, and so on), or create a material
Click a library tab to switch between libraries. The selected tab
library for each character in your scene.
becomes the current library. Unless you explicitly create a new material
in another library, all newly created materials are added to the current You can drag and drop materials onto the Favorites tab in the material
library. manager to create shortcuts to materials that you want to keep handy.
You can also create your own custom “favorites” tabs to collect and sort
You can also manage your libraries using an explorer with its scope set
the material shortcuts as you like.
to Materials (press M).
By default, material libraries are stored internally as part of the scene.
However, you can store them externally, as dotXSI (.xsi) or material
library (.xsiml) files, which allows you to share them between multiple
scenes.

The Default Material Library


Every new scene has a material library called DefaultLib. Initially, the
library contains only the default scene material, but all new materials
that you create in the scene are added to the default library until you
create or import a new library and set it as the current library.

Basics • 321
Section 17 • Materials

322 • Softimage
Section 18

Texturing
Texturing is the process of adding color and texture
to an object. You can use textures to define
everything from basic surface color to more tactile
characteristics like bumps or dirt. Textures can also
be used to drive a wide variety of shader parameters,
allowing you to create maps that define an object’s
transparency, reflectivity, bumpiness, and so on.

What you’ll find in this section ...


• How Surface and Texture Shaders
Work Together
• Types of Textures
• Applying Textures
• Texture Projections and Supports
• Editing Texture Projections
• UV Coordinates
• Editing UV Coordinates in the Texture Editor
• Texture Layers
• Bump Maps and Displacement Maps
• Baking Textures with RenderMap
• Painting Colors at Vertices

Basics • 323
Section 18 • Texturing

How Surface and Texture Shaders Work Together


Surface shaders and texture shaders work together to create an object’s In most cases, a surface shader is connected to the material node’s
look. A surface shader defines how an object responds to lighting, and Surface port, and then a texture shader is connected to the Ambient
defines other basic characteristics such as transparency and reflectivity. and Diffuse parameters of the surface shader. The following example
A texture shader applies either an image or a procedural texture onto illustrates how combining texture shaders and surface shaders affects
the object. The texture doesn’t “cover” the surface shader; rather, it is the final result.
combined with the surface shader such that the object is textured and
responds correctly to scene lighting.

A Blinn shader connected to the Surface port


A texture shader connected to the
of the cow’s body’s material node. The hoofs, Using the texture shader to drive the surface
Surface port of the cow’s body’s material.
horns, and so on have different materials. shader’s Ambient and Diffuse colors produces a
Note that without a surface shader, the
lighting appears constant. textured cow that responds properly to lighting.

324 • Softimage
Types of Textures

Types of Textures
Softimage allows you to use two different types of textures: image • An image clip is a copy, or instance, of an image source file. Each
textures, which are separate image files applied to an object’s surface, time you use an image source, an image clip of it is created. You can
and procedural textures, which are calculated mathematically. have as many clips of the same source as you wish. You can then
modify the image clip without affecting the original source image.
Image Textures Clips are useful because they allow you to create different
Image textures are images that can be wrapped around an object’s representations of the same texture image (source), such as five
surface, much like a piece of paper that’s wrapped around an object. To different blur levels of the same source image. Also, clips are
use a 2D texture, you start with any type of picture file (PIC, TIFF, PSD, memory-efficient because the source is only loaded once,
etc.). These can be scanned photos or any file containing data that regardless of the number of clips are created from it.
describes all the pixels in an image, RGB or RGBA data.
Procedural Textures
Procedural textures are generated mathematically, each according to a
particular algorithm. Typically, they are used to simulate natural
materials and patterns such as wood, marble, rock, veins, and so on.
Softimage’s shader library contains both 2D and 3D procedural
textures. 2D procedurals are calculated on the object’s surface —
according to their texture projections — while 3D procedurals are
calculated through the object’s volume. In other words, unlike 2D
textures, 3D textures are projected “into” objects rather than onto
2D textures are wrapped around objects. them. This means they can be used to represent substances having
internal structure, like the rings and knots of wood.
Image Sources and Clips
Every time you select an image to use as a
texture or for rotoscopy, an image clip and an
image source of the selected image is created.
• An image source is not really a usable scene
element. It is merely a pointer to the
original image stored on disk. Images
3D textures are defined throughout an object.
sources are listed in your scene in the Sources folder of the Scene
Root. They can be stored within your project folder structure, or
outside of it.

Basics • 325
Section 18 • Texturing

Applying Textures
There are a number of ways to connect textures to objects in Softimage. • Using the parameter connection
These include: icon menu in a shader’s property
editor lists textures that you can
• Using the render tree, where you can choose a texture from the
attach directly to the parameter.
Nodes > Texture menu. Once you choose a texture, it is added to
Attaching a texture to a parameter
the render tree workspace and you can connect it to the material’s
lets you control the parameter with
or other shaders’ ports.
a texture instead of a simple color
or numeric value.
This is a convenient way to connect a
texture to a surface shader’s Ambient
and Diffuse ports immediately after
applying the surface shader to the
object.

Adding More Textures


To add a texture in addition to the one
applied using Method 1, choose Modify > Texture > Add from the
Render toolbar.
Choosing a texture from the Nodes > Texture
menu adds it to the render tree workspace.
This adds a new texture layer to the object’s surface shader. The
parameters that you add the new texture to are added to the layer, and
the layer’s texture is blended with them.
• Using the Get > Texture menu lists
commonly used texture shaders that Choose Modify > Texture > Add from
can be connected to any the Render toolbar.
combination of a surface shader’s
ambient, diffuse, transparency and
The menu lists texture shaders
reflection ports.
that can be blended with the
surface shader via a new texture
layer.

326 • Softimage
Texture Projections and Supports

Texture Projections and Supports


Typically when you apply a texture to an object, a texture projection Texture projections exist on the support and record the
and texture support are created. correspondence between pixels in the texture and points on the object’s
surface—in other words they define where the texture is projected on
The texture support is a graphical representation of how the texture is
the object.
projected on the object. It defines the type of projection and applies
textures to your 3D objects using that definition. You can transform a texture projection on a given support to define the
part of the object to which the texture is applied. You can then add any
By default, an object’s texture support is constrained to the object;
number of projections, adjacent or overlapping, to the support.
otherwise, animated objects would move through space without their
projection. Transforming the texture support is a useful way of The sphere shown below has three texture projections connected to its
animating or repositioning a texture on an object. support. The wireframe view on the left shows how the projections are
positioned, and the textured view on the right shows the rendered
result.

Texture projections Rendered result of how the textures are


Texture support projected onto this sphere.

Basics • 327
Section 18 • Texturing

Types of Texture Projections All of the projections described can be applied to objects from the
Render toolbar’s Get > Property > Texture Projection menu.
Choosing the right type of texture projection is an important part of
the texturing process. The more closely the projection conforms to the You can also create and apply texture projections from any texture
original shape of the object, the less you’ll have to adjust the texture to shader’s property editor. Every texture shader needs a projection to
get the object looking just right. This section describes the types of define where the texture should appear on the object.
texture projections that are available to you.

Planar Projections Cylindrical Projections

Planar projections are used for mapping textures onto an object’s XY, XZ, and YZ If you map the picture file cylindrically, it is
planes. By default, the projection plane is one pixel smaller than the surface plane, projected as if wrapped around a cylinder.
therefore no “streaking” or distortion occurs on the object’s other planes.

XY XZ YZ

Planar XY Cylindrical

Lollipop Projections Spherical Projections


A lollipop projection is a A standard spherical
spherical-type projection that projection stretches the
stretches the texture over the texture over the front of the
top of the object so its object so that its edges meet
corners meet on the bottom, at the back. Distortion occurs
like the wrapper of a lollipop. towards the pinch points at
A single pinch-point occurs at the object’s +Y and -Y poles.
the -Y pole.

Lollipop Spherical

328 • Softimage
Texture Projections and Supports

Cubic Projections UV Projections


A cubic projection assigns an object’s polygons to a specific face of the cube UV projections are useful for texturing NURBS surface objects. They behaves
based either on the orientation of their normals, or their positions relative to like a rubber skin stretched over the object’s surface. The points of the object
the cubic texture support. The texture is then projected onto each face using a correspond exactly to a particular coordinate in the texture, allowing you to
planar or spherical projection method. accurately map a texture to the object’s geometry. Even when you deform an
object, its texture follows the object’s geometry.
By default, the entire texture is projected onto each face. However, you can
choose from a number of different cubic projection presets. You can also
transform each face of the cube individually and save the transformations as A NURBS surface (left) with a wood
presets of your own. texture applied using an planar XZ map
(below, left) and UV map (below,
+Y face (top) right). With the UV map applied, the
-Z face (back) pattern accurately follows the contours
-X face (left)
of the object.

+Z face (front) +X face (right)


A cubic projection is applied -Y face (bottom)
to a cube so that the entire
texture image is projected +Y face (top)
onto each face.
-Z face (back)
Spatial Projections
-X face (left)
A spatial projection is a three-dimensional UVW texture projection that has
either the object’s origin or the scene’s origin as its center. Spatial projections
are used to apply procedural textures that are computed mathematically, rather
than being somehow wrapped around the object.

By default, a spatial
projection’s texture
support appears in the
center of the textured
A cubic projection is object’s volume.
applied to a head so that a +Z face (front) +X face (right)
different part of the
texture image is projected -Y face (bottom)
Polygon sphere with a vein texture applied using a spatial projection.
onto each face.

Basics • 329
Section 18 • Texturing

Camera Projections Unfolding


A simple and convenient way to texture objects is to project a texture Unfolding creates a UV texture projection by “unwrapping” a polygon
from the camera onto the object’s surface, much like a slide projector mesh object using the edges you specify as cut lines or seams. When
does. This is useful for projecting live action backgrounds into your unfolding, the cut lines are treated as if they are disconnected to create
scene so you can model and animate your 3D elements against them. borders or separate islands in the texture projection. The result is like
peeling an orange or a banana and laying the skin out flat.
Changing the camera’s position changes the projection’s position. Once
you have positioned the texture on the surface to your liking, you can
freeze the projection.

Texture image used Wireframe view of the Top view showing where
rendered frame. the texture is projected.

Unfolding does not rely on a texture support. To adjust the projection


further, edit the UV coordinates in the texture editor.

Final rendered frame


In this example, the corner of a room was textured using the original
texture (top-left). The texture was projected from a scene camera (top
right). The rendered result shows the modeled teddy bear against the
projected background.

330 • Softimage
Texture Projections and Supports

Contour Stretch UVs Projection (Polygons Only)


Contour Stretch UVs projections allow you to project a texture image
onto a selection of an object’s polygons. Rather than projecting
according to a specific form, however, a contour stretch projection
analyzes a four-cornered selection to determine how best to stretch the
polygons’ UV coordinates over the image.
Contour stretch projections are useful for a number of different
texturing tasks, particularly for applying textures to tracks, and
irregular, terrain-like meshes. They are also useful for fitting regular-
shaped textures onto curved meshes. For example, they would be
useful to place a label texture on a beer bottle, right at the junction of
the bottle’s neck and body.

The contour stretch projection is ideal for


texturing a curvy path like this road.

Contour stretch projections do not have the same alignment and


positioning options as other projections. Instead, you select a
stretching method that is appropriate to the selection’s topology and
complexity. Also, contour stretch projections do not have a texture
support. To adjust it further, edit the UV coordinates in the texture
editor.

Basics • 331
Section 18 • Texturing

Unique UVs Projection (Polygons Only) projection to output a texture image that you can reapply to the
object. The texture is applied to texture each polygon properly
Unique UVs mapping applies a texture to polygon objects using one of
without you worrying about “unfolding” it to fit properly.
two possible methods:
• Angle Grouping, after deciding on a projection direction, groups
• Individual polygon packing assigns each polygon’s UV coordinates
neighboring polygons whose normal directions fall within a
to its own distinct piece of the texture so that no one polygon’s
specified angle tolerance. This process is repeated until all of the
coordinates overlap another’s.
object’s polygons are in a group. The groups—or islands—are then
This is useful for rendermapping polygon objects. You can apply assigned to distinct pieces of the texture so that no two islands’
textures to an object using a projection type appropriate to its coordinates overlap each other.
geometry, then rendermap the object using a new Unique UVs
Unique UVs projections do not have a texture support. To adjust it
further, edit the UV coordinates in the texture editor.

A Unique UVs projection was The Individual Polygon Packing method produces The Angle Grouping method produces “islands” of polygons.
applied to this sphere. UV coordinates that look like this: each polygon’s
UV coordinates separated from the rest of the
coordinate set so it can be assigned to its own
portion of texture.

332 • Softimage
Editing Texture Projections

Editing Texture Projections


A texture projection’s property editor contains options for modifying, You would make a texture projection implicit to obtain a better overall
transforming and renaming the projection. You can open a texture result for spherical and cylindrical projections on an object, especially
projection’s property editor by selecting an object and choosing one of one with fewer polygons. For example, when mapping a texture onto a
the following from the Render toolbar: sphere (using either spherical or cylindrical projection), implicit
texturing produces more accurate results at the spheres’ poles than
• Modify > Projection > Inspect Current UV opens the property
does explicit projection.
editor for the object’s current texture projection. This is the
projection used when the object is viewed in a textured display
mode (textured, textured decal, and so on). Wrapping Texture Projections

• Modify > Projection > Inspect All UVs opens a multi-selection The texture projection’s wrapping options control whether the texture
property editor for all of the object’s texture projections. extends past the projection’s boundaries to wrap around the object.

• Modify > Texture > name of the texture from the Render toolbar to The examples below show a sphere whose texture projection has been
open the texture’s property editor. adjusted such that the texture covers only a portion of the object’s
surface. You can see the effect of wrapping in different directions.
Then click the Edit button on the Texture tab (beside the Texture
Projection list) to open the Texture Projection property editor.

Making Projections Implicit


You can make most texture projections into implicit projections.
Implicit projections are slightly slower to render because it performs its
own projection computation (based on a predefined projection model;
that is, spherical, planar, and so on) at each pixel, as opposed to using
No Wrapping Wrap in U
predefined interpolated UV data like explicit projections.

Both spheres have a


texture applied to their
diffuse parameter. The
sphere on the left uses
an explicit projection
and the sphere on the
right uses an implicit
projection.
Wrap in V Wrap in U and V

Basics • 333
Section 18 • Texturing

Transforming Texture Projections There are two ways to transform texture projections—using the
projection manipulator in a 3D view, or by editing the scaling,
By default, a texture projection fills the entire texture support. For rotation, and translation values in the Texture Projection property
example, if you apply a simple XZ Planar projection to a grid, the editor.
texture coordinates span the entire projection from one grid corner to
the other. You can transform the texture projection to reposition the To activate the projection manipulator, press j, or choose
texture, or to make room on the support for other projections in Modify > Projection Edit Projection Tool from the Render toolbar.
different locations.
The texture projection manipulator allows you to Alternatively, you can use the texture
reposition a texture projection on an object by changing projection definition parameters to
the projection’s position on the texture support. transform a texture on the surface of
an object.
In edit mode, the
Drag the green arrow mouse cursor
to scale the changes to this icon.
projection vertically.

Right-click to switch
Drag the green line to to another projection,
translate the if one exists.
projection vertically.
UVW
Drag the intersection Drag the red arrow to Transformation
of the red and green scale the projection controls
arrows to translate horizontally.
the projection freely.
Drag the red line
to translate the
Drag one of the corner projection
handles or borders to Middle-click + drag to rotate the horizontally.
scale the projection. projection about its center.

Muting and Freezing Texture Projections


Once you have scaled, rotated, or translated a texture projection to
your liking, you can freeze it permanently or mute it temporarily.
Freezing a texture projection is the equivalent of freezing the texturing
operator stack. This is useful if you want to avoid accidentally editing
or moving your texture support, especially when the object is
animated.

334 • Softimage
UV Coordinates

UV Coordinates
Applying a texture projection to an object creates a set of texture You can view and adjust UV coordinates using the texture editor, where
coordinates — often called UV coordinates or simply UVs — that control they are represented by sample points. When you select sample points,
where the texture corresponds to the surface of the object. you are actually selecting the UV coordinates held at the corresponding
position on the object.
• On a polygon object, each vertex can hold multiple UV coordinates
— one for each polygon corner that shares the vertex. The portion For example, as you can see in the images below, the center point of a 2x2
of the texture enclosed by a polygon’s UVs is mapped to the polygon grid holds four UV coordinates. When you select the
polygon. corresponding sample point in the texture editor, you are selecting all
four coordinates (although it is possible to select a single polygon-
• On NURBS objects, UV coordinates are not stored at the vertices;
corner’s UV coordinate).
instead, they are generated based on a regular sampling of the
object‘s surface. However, as with polygon objects, the portion of
the texture enclosed by, say, four UVs is mapped to the
corresponding portion of the object.

In this example, the image shown This exploded view of the textured grid
left was used to texture a 2 x2 shows how each polygon’s UVs correspond
polygon grid such that each to the texture image.
polygon’s UV coordinates were
mapped to the texture differently.

The grid’s middle vertex holds four overlapping UVs. Each UV


belongs to a specific polygon and holds a coordinate which,
along with the polygon’s other UV coordinates, defines the
portion of the texture mapped onto that polygon.

Basics • 335
Section 18 • Texturing

Editing UV Coordinates in the Texture Editor


When you apply an image to an object, it’s unlikely that it will fit By selecting the object’s UV coordinates and moving them to a new
perfectly. The next step after applying the texture is to adjust what parts location, you can control which portions of the texture correspond to
of the image correspond to the various parts of your object. different parts of the object. The texture editor has a wide variety of
tools to help you select and move UV coordinates.
You can do this using the texture editor, which displays an object’s UV
coordinates. These are a two-dimensional representation of the object’s To open the texture editor, press 7 or choose View > Rendering/
geometry which, when superimposed on a texture image, shows what Texturing > Texture Editor from the main menu.
portion of the texture appears on any part of the object’s surface.
Texture editor Texture editor menu bar contains UV position boxes allow Texture editor command bars
workspace is where you all of the texture editor commands, you to move selected provide quick access to commonly
manipulate the selected including those accessible from the sample points to precise U used texture editor commands.
object’s UV coordinates. command bar and V locations.

Texture image
The image clip
currently applied
to the object.
Connectivity Tabs
help you make sense of
the object’s UVs by
highlighting boundaries
shared between of UV
“islands”.

This character and his head are Status bar displays the UV Selected UVs are highlighted red, and
separate objects, each with its own coordinates, pixel coordinates, unselected UVs are blue.
projection. Both sets of UVs are shown and RGBA values of the current
in the texture editor. mouse pointer position

336 • Softimage
Editing UV Coordinates in the Texture Editor

Choosing a Texture Image to Display Dimming the Texture Image


The texture editor’s Clips menu allows you to choose the image clip If you’re having trouble seeing a projection’s UV coordinates in the
that is displayed in the texture editor workspace, as well as on the texture editor workspace, you can dim the texture image to make the
object in the 3D views in Textured and Textured Decal display modes coordinates more visible. Click the Dim Image button or choose
while the texture editor is open. It contains an alphabetical list of all of View > Dim Image.
the image clips used by the selected object(s). Choosing different clips
allows you to see how the same set of UV coordinates maps different
textures onto an object.
Selecting and Editing UV Coordinates
Displaying an image clip in the texture editor workspace does
not apply the image to the selected object. Use the Vertex, Edge, or Polygon selection filters to select the texture
samples associated with vertices, edges, or polygons. ALL lets you select
the samples associated with any component type, depending on what
Displaying the Checkerboard
you click on. ISL selects whole islands, and CLS restricts the selection
Clips > Checkerboard displays a checkerboard image in the texture to clusters.
editor workspace, as well as on objects in the 3D views in Textured and
Textured Decal display modes while the texture editor is open. This is
useful for seeing how the texture image gets stretched over different
areas of an object. An even distribution of regularly sized squares
Once you have selected samples, you can edit them using the transform
indicates minimal stretching, which is usually preferable, although you
tools (x, c, and v) or other commands.
may want a higher density of squares in areas of high detail such as the
face of a character. You can set the number of squares in the texture Tearing
editor preferences.

When tearing is off, connected and coincident UV samples are


automatically affected by any manipulation even if they are not
explicitly selected.
When tearing is on, it’s possible to separate samples into discontinuous
islands. Polynode bisectors appear, which allow you to select individual
samples at a vertex.

Polygon Bleeding belonging to the adjacent polygons become selected automatically.


This allows you to move the polygons in a block without internal
distortion.
When polygon bleeding is on and you select samples, all samples

Basics • 337
Section 18 • Texturing

Editing Multiple UV Sets Texture Layers


You can display and edit multiple UV coordinate sets simultaneously in Texture layering is the process of mixing several textures together, one
the texture editor. Simply select multiple objects or an object with after the other, such that each texture is blended with the cumulative
multiple UV sets, and open or update the texture editor. On the UVs result of the preceding textures. In Softimage, you can use this
menu, Shift+click to toggle the display of specific UV coordinate sets. technique to build complex effects by adding texture layers to an
Any UV coordinate set that is currently displayed in the texture editor object’s material or its shaders.
is “live” and can be edited. You can select and modify sample points on When you add a texture layer to a shader, one or more of that shader’s
multiple coordinate sets simultaneously. You can snap sample points parameters, or ports, is added to the layer. The layer is mixed on the
from one set to another, and copy and paste coordinates between sets. selected ports, in accordance with its assigned strength, or weight,
The different coordinate sets are independent for the purposes of using one of several different mixing methods.
operations like healing, relaxing, and matching.
For texture layering purposes, the shader’s ports are collectively treated
as the base layer with which the texture layers are blended. If some of
the shader’s ports are connected to other shaders, those shaders are
considered part of the base layer as well. For example, if you’ve
connected a Cell texture to a Phong shader’s Ambient and Diffuse
ports, the Cell texture is treated as part of the Phong’s base layer.
What makes texture layers so powerful is that at any time in the
texturing process, you can add, modify, and remove any layer, giving
you complete control over the resulting effect. You can also quickly and
easily change the order in which layers are blended together, something
that’s quite difficult to do when you mix textures using mixer shaders
in the render tree. Because texture layers only affect designated ports,
you can blend a number of layers with each of a shader’s attributes and
create a complex effect for each.

338 • Softimage
Texture Layers

The parameters of the grid’s Lambert surface


shader are represented in the base layers. In this
case, nothing is connected to the Lambert shader’s
ports, so only the base colors are shown.

The first layer adds the basic sign texture to the


Ambient and Diffuse ports. The texture’s alpha
channel is used to control transparency, cutting
out the shape of the sign.
The weatherbeaten road sign shown here was
created by adding three texture layers to a basic
Lambert-shaded grid. The images on the left
show the cumulative effect of the layers.

The second layer adds some rust. The rust


texture is blended with the Ambient and Diffuse
ports according to its alpha channel, and a
separate mask—in this case, a weight map.

The final layer, blended with Ambient, Diffuse,


and Transparency adds the bullet holes. Bump
mapping is activated in the layer’s shader,
creating the depression around each bullet hole.

Basics • 339
Section 18 • Texturing

The Texture Layer Editor how many ports those layers affect, and how and in which order the
layers are blended together. Add to this the ability to modify the
The texture layer editor is a grid-style editor from which you can view majority of each layer’s properties, and the texture layer editor makes
and edit all of a shader or material’s texture layers. for quite a powerful tool.
The advantage of using the texture layer editor is that it packs a To open the texture layer editor, choose View >Rendering/Texturing >
tremendous amount of information into a relatively compact interface. Texture Layer Editor from the main menu.
At a glance, you can see which shaders are directly connected to a
shader’s port, how many texture layers have been added to the shader,

The shader list displays all of


the shaders connected to the
current selection‘s material.
Select a shader to update the
The Selected
editor with its layers.
shader’s ports
The texture controls allow can be added to
you to control the texture texture layers and
projections assigned to base layers.
selected layers’ inputs.

The Base Colors layer


displays color boxes for
unconnected ports
Layer/port
Base layers represent shaders controls indicate
that are directly connected to that the port
the current shader’s ports. has been added
to the layer.
Texture layers are blended
with the base layer and
with each other. An empty cell
indicates that
the port is not
affected by
Layer controls and layer/port controls allow you to the layer.
set texture layer properties.

340 • Softimage
Texture Layers

Texture Layers in the Render Tree Layers behave exactly like any other parameter group in the render tree,
meaning that you can connect shaders to texture layer parameters as
When a shader has one or more texture layers, a new section called you would to any other shader parameter. This lets you control each
Layers is added to its node in the render tree. The Layers section texture layer with its own branch of the render tree.
contains a parameter group for each of the shader’s layers.
Expanding the Layers section reveals all of the individual layer
parameter groups. Expanding an individual texture layer’s parameter
group reveals the ports for its Color and Mask parameters.

Shader ports that have been


added to layers are marked
with a small blue “L”.

Layers section
Collapsed layer
parameter group

Expanded layer
parameter group.

Layer Color and


Mask ports.

Basics • 341
Section 18 • Texturing

Bump Maps and Displacement Maps


Although real surfaces can be perfectly smooth, you are more likely to encounter surfaces with flaws, bumps, and ridges. You can add this kind of
“noise” to object surfaces using bump maps and displacement maps.

Bump Maps When Not to Use Bump Maps


Bump maps use textures to perturb an object’s shading normals to Because bump maps do not actually alter
create the illusion of relief on the object’s surface. Because they do not object geometry, their limitations can
actually change the object’s geometry, they are best suited to creating become apparent when too much relief is
fine detail that does not come too far off the surface. required.

The sphere shown here was bump- Consider the sphere shown here: even with
mapped with a fine noise. A negative a very high bump step, the bumping is not
bump factor was used to make the white convincing on the silhouette where there is
areas bump outward. no indication that the surface is raised.
In these cases, it’s better to either model
the necessary geometry or to use a displacement map.

Displacement Maps
A displacement map is a scalar map that, for each point on an object’s
surface, displaces the geometry in the direction of the object’s normal.
Creating a Bump Map Unlike regular bump mapping that “fakes” the look of relief,
displacement mapping creates actual self-shadowing geometry.
To give you the most control over surface bumping, the best way to
create a bump map is to connect a Bumpmap shader to the Bump Map
The sphere shown here was
port of an object’s material node. displacement-mapped using
the texture shown below.

However, every texture shader has bump map parameters, so you can
create a bump map using textures that you’ve connected to, for
example, a surface shader’s Ambient and Diffuse ports.

342 • Softimage
Bump Maps and Displacement Maps

Creating a Displacement Map Using Displacement Maps and Bump Maps Together
You create a displacement map by connecting a texture, preferably You can use bump maps and displacement maps together to create
grayscale, to the Displacement port of an object’s material node. It is extremely detailed surfaces. Typically, the best approach is to use a
often helpful to add an intensity node between the map and the displacement map to create the coarser surface detail — major features
material node to help control the displacement. that need to be visible at the object’s edges and can benefit from self-
shadowing. You can then use the bump map to create a top layer of fine
detail. The bump-mapping is applied to the displaced geometry.

Setting Displacement Map Parameters


In addition to any shaders that you add to the render tree to modulate
displacement, the main displacement controls are on the Displacement This sphere uses the texture on the left as a
tab of the object’s Geometry Approximation property editor. From displacement map to create coarse surface
there, you can choose the type of displacement appropriate to your detail, and the texture on the right as a
object and refine the displacement effect. bump map to create fine surface detail.

When Not to Use a Displacement Map


Because they actually modify object geometry, displacement maps can
take considerably longer to render than bump maps. Generally
speaking you should not use a displacement map if you can achieve a
satisfactory effect using a bump map.

The sphere on the left uses a bump map, while the one on the right
uses a displacement map. In this case, the difference is slight enough
that the bump map’s shorter render time makes it the better choice.

Basics • 343
Section 18 • Texturing

Reflection Maps
Reflection maps, also called environment maps, can be used to simulate Raytraced Reflections are slower to render because they actually
an image reflected on an object’s surface, without using actual compute reflections for everything around them.
raytraced reflections. They can also be used to add an extra reflection
Non-Raytraced Reflection Maps are much faster to compute because
to an object’s reflective, raytraced surface.
they simulate the reflection of a specified texture or image, defined by
When objects are reflective, you can define whether the reflections on an environment map, on the object’s surface.
its surface are Raytracing Enabled or Environment Only. Reflection
When reflection mapping is used without raytracing, only the
settings are found on the Transparency/Reflection tab of the object’s
reflection map appears on the object’s surface; when used with
surface shader’s property editor (choose Modify > Shader from the
raytracing, the map is combined with raytraced reflections.
Render toolbar to open the property editor).

Raytraced reflection only Reflection map only Raytraced reflection and reflection map
Note how reflective objects reflect other objects in Using only a reflection map, no scene objects are With both types of reflection activated, you get
the scene. For example, you can see the flask and reflected in reflective surfaces. Instead, the only the real reflections of scene object and simulated
the floor reflected in the retort. reflection is that simulated by the reflection map. reflections from the map, producing highly
detailed reflections.

You can apply a reflection


map to an object by You can apply a reflection
connecting an environment map to the entire scene by
map shader to the adding an environment map
Environment port of the shader to a render pass’
object’s material node. shader stack.

344 • Softimage
Baking Textures with RenderMap

Baking Textures with RenderMap


RenderMap allows you to capture a wide variety of surface information To rendermap an object, you need to apply a RenderMap property.
from scene objects, and bake that information into image files that can Choose Get > Property > RenderMap from the Render Toolbar. This
be reapplied to the rendermapped object and/or used for a myriad of opens the RenderMap property editor, from which you can configure
other purposes. all of the maps that you wish to output.
RenderMap captures surface information by casting rays from a virtual The following example shows how you can use RenderMap to create a
camera in order to sample each point on an object’s surface. The results single texture (which includes lighting information) out of a complex
are rendered as one or more 2D images that you can apply to the object render tree.
as you would any other 2D texture.

Color map

Alpha map

Before RenderMap
The disembodied hand shown here was
textured using a combination of several
Displacement map images mixed together in a complex
render tree, and lit using two infinite
lights. The result is a highly detailed surface
that incorporates color, bump, displacement, and lighting
Specular map information, and takes a fair amount of time to render.
Bump map
After RenderMap
To bake the hand’s surface attributes into a single texture file, a RenderMap property was
applied to the hand, and a Surface Color map was generated. The resulting texture image
was then applied directly to the Surface input of the hand’s material node. Finally, the scene
lights were deleted, producing the result shown at right—a good approximation of the
hand’s original appearance.
Because the hand’s
illumination is baked into the
rendermap image, you can get
this result without using lights
or an illumination shader.

Basics • 345
Section 18 • Texturing

Painting Colors at Vertices


Another way to apply color to polygon mesh objects is to paint their is stored at the vertex level, hence the name). For example, you can
vertices. Vertex colors aren’t considered to be material or texture paint each edge of a square polygon a different color. As a result, the
shaders: they are actually a constant color stored directly in the vertices center of the polygon would display a blend of each of the four colors.
of a polygon at the geometry level. Each vertex of a polygon has If necessary, you can store several color at vertices properties on the
polynodes (a type of “subvertex”) that hold its UV coordinates and same object.
vertex colors.
Vertex colors are often used in games because they are an efficient way
The Color at Vertices (CAV) property allows you to color an entire of storing color information that can be used in a variety of ways, e.g.,
polygon or just its edge rather than the actual vertex (the information for pre-baked lighting, texture blending, and so on.

1 Choose Get > Property > Color at 2 Press Ctrl+W to open the Brush
Vertices Map to add a CAV Property to the Properties property editor. On the
selected object. An object can have as many Vertex Colors tab, you can choose a
CAV properties as paint mode and color, set the brush
you need. size, set falloff and bleeding options
and so on. Basically, you’re defining
how the brush strokes look.

3 Press Shift+W to activate 4 If you’d like, you can render the


the brush tool and paint result of the color at vertices
the color (or other property using a Vertex RGBA
attribute) onto the object shader in the render tree.
in any 3D view. When you
move the brush into any
3D view, the view’s display
mode automatically
changes to Constant.

346 • Softimage
Section 19

Lighting
Conventional lighting (direct light sources), indirect
lighting, and image-based lighting are all techniques
that contribute to a scene’s illumination and affects
the way all object surfaces appear in the rendered
image.

What you’ll find in this section ...


• Types of Lights
• Placing Lights
• Setting Light Properties
• Selective Lights
• Creating Shadows
• Global Illumination
• Caustics
• Final Gathering
• Image-Based Lighting
• Light Effects

Basics • 347
Section 19 • Lighting

Types of Lights
You can add lights to a scene by choosing them from the Infinite (Default)
Render toolbar’s Get > Primitive > Light menu.
Infinite lights simulate
Every light type has its own special characteristics and is light sources that are
represented by its own icon in 3D views. infinitely far from
objects in the
scene. There is no
position associated with an infinite
light, only a direction. All objects are
Point lit by parallel light rays. The scene’s
Point lights casts rays in default light is infinite.
all directions from the
position of the light.
They are similar to light Spot
bulbs, whose light rays emanate from Spot lights cast rays
the bulb in all directions. in a cone-shape,
simulating real
spotlights. This is
useful for lighting a specific object
Light Box or area. The manipulators can be
used to edit the light cone’s length,
Light box lights simulate a light diffused
width, and falloff points.
with a white fabric.
The light and
shadows created by
Neon
this light are very
soft. Specularity is Neon lights
still visible, but simulate real-
noticeably weaker. world neon lights. They are
Manipulating the box essentially point lights whose settings
shapes the projected light. and shapes are altered to resemble
fluorescent tubes. The manipulators
can be used to change the tube into
any rectangular or square shape.

348 • Softimage
Placing Lights

Placing Lights
You can translate, rotate, and scale lights as you would any other object. Placing Spotlights Using the Spot Light View
However, scaling a light only affects the size of the icon and does not
The Spot Light view in a 3D view that lets you select from a list of
change any of the light properties.
spotlights available in the scene. A spotlight view is useful to see what
objects a spotlight is lighting and from what angle.
Rotating an infinite light. This is the only useful
transformation for infinite lights since their
scale and position do not affect the lighting. 1 Select a spotlight from
Rotating the light, on the other hand, changes the view menu to see
its direction. the scene from the
light’s point of view.

Translating a point light. Rotating and scaling


point lights does not affect the lighting.
Translating a point light changes its position, 2 Navigate in the spotlight
which does change the scene lighting. viewport to change the
position of the light.
The inner and outer circles
correspond to the light’s
spread angle and cone angle
respectively.
Translating a spotlight. When you
translate the spotlight, it rotates
automatically to point toward its
interest.
Scaling a spotlight has no effect on the lighting.
Since the spotlight is normally constrained to its
interest, you cannot rotate it either (unless you delete
the interest).
3 The rendered result
shows the scene lit from
the spotlight.
Note that the light falls
Spotlights have a third set of manipulators that let you control their start off exactly where the
and end falloff, as well as their spread and cone angles. Area lights also cone and spread circles
have a third set of manipulators that let you scale the geometric area indicate that it should.
from which the light rays emanate. These manipulators are discussed
later in this section.

Basics • 349
Section 19 • Lighting

Setting Light Properties


Once you create a light, you can edit its properties from its property When you define the color of an object’s material, you should work
editor. To open a light’s property editor, select the light and choose with a white light because colored light sources affect the material’s
Modify > Shader from the Render toolbar. Some of the most appearance. You can color your light source afterward to achieve the
commonly edited light properties are described below. final look of the scene.

Setting Light Color Setting Light Intensity


The color of a light controls the color of the rays emitted by the light. You can control a light’s intensity by adjusting the Intensity slider in
The final result depends on both the color of the light and the color of the light’s property editor. By default, values range from 0 to 1, but you
objects. can set much higher values if needed.
Alternatively, you can control light intensity indirectly using its color
channels. Setting RGB values greater than 1 creates more intense light.

White Light Pale Yellow Light

Intensity: 0.25 Intensity: 0.5

Pale Blue Light

Intensity: 0.75

350 • Softimage
Setting Light Properties

Setting Light Falloff Setting a Spotlight


Falloff refers to the diminishing of a light’s intensity over distance, also A spotlight casts its rays in a cone aimed at its interest. Spotlights have
called attenuation. This mimics the way light behaves naturally. The special parameters, called Spread and Cone Angle, that control the size
falloff options are available only for point and spotlights. and shape of the cone. You can set these options using the spotlight’s
property editor or its 3D manipulators. You can also use the 3D
You can set the distance at which the light begins to diminish, as well as
manipulators to set the light’s falloff.
the distance at which the falloff is complete (darkness). This means you
can set the values so the falloff affects only those features you want. In
addition, you can control how quickly or slowly the light diminishes.
The white line
Start falloff = 0 indicates the cone
End falloff = 4 angle.

The yellow line


indicates the light’s
spread angle.

To activate a spotlight’s manipulators, select the light and press B. You


can then adjust the light by dragging any of the manipulators labeled in
the image below.

The upper circle is the Start


Falloff point.
Start falloff = 0
End falloff = 8
The wireframe outline is the
spotlight’s Cone Angle.

Start falloff = 6
End falloff = 8 The inner, solid cone is the
spotlight’s Spread Angle.
Falloff
Start and End Falloff values. Using a point light, umbra = 0;
bottom corner of chess board is 0; top, left corner is 10.
The lower circle is the End
Falloff point.

Basics • 351
Section 19 • Lighting

Selective Lights Creating Shadows


When you create a light, it affects all visible objects in the scene. You can create shadows that appear to be cast by the objects in your
However, every light has a selective property that you can use to make it scene. Shadows can make all the difference in a scene: a lack of them
affect, or not affect, a designated group of objects called Associated can create a sterile environment, whereas the right amount can
Models. This can reduce rendering time by limiting the number of augment the realism of the same scene. Shadows are controlled
calculations per light. independently for each light source, so you can have some lights
casting shadows and others not.
You can set a light’s selective property to be Inclusive or Exclusive.
To create a shadow using the mental ray renderer for a scene or a
• Exclusive illuminates every object except for those in the light’s
render pass, you must set up three things:
Associated Models group.
• A light that generates shadows.
• Inclusive illuminates every object defined in the light’s Associated
Models group. • Objects that cast and receive shadows.
• Rendering options that render shadows.
A simple scene illuminated by a point
light. None of the geometric objects There are three basic kinds of shadows you can create using mental ray:
are included in the light’s Associated raytraced, shadow-mapped, and soft.
Models’ list, so they are not affected
by the light’s selective property.
Raytraced Shadows
Raytraced shadows use the renderer’s
raytracing algorithm to calculate how
The King piece (center) has been added to light rays are reflected, refracted, and
the light’s Associated Models list, making it obstructed. The shadows are very
affected by the light’s selective property. realistic but take longer to render than
The light has been defined as Exclusive, other types of shadows.
thereby not illuminating the objects on the
To create raytraced shadows, you need
light’s Associated Models list.
to activate shadows in the light’s property editor.

The light is set to Inclusive. Now the


light source affects only the objects
listed in the Associated Models list Activates shadows for the light.
(only the King piece) and ignores the
rest.

You also need to make sure that the Primary Rays Type is set to
Raytracing in the renderer options.

352 • Softimage
Creating Shadows

Shadow-Mapped Shadows Volumic Shadow Maps


Shadow-mapped shadows, also known Volumic shadow maps, are similar to regular shadow maps, but store
as depth-mapped shadows, use the more detail. Instead of simply storing the distance from the light to the
renderer’s scanline algorithm. They first object hit, the volumic shadow map algorithm raymarches
are quick to render, but not as accurate through the scene from the light’s origin until it hits a fully opaque
as raytraced shadows. object. Along the way it stores changes in light color or intensity along
with the depth at which the change occurred. Volumic shadow maps
The shadow map algorithm calculates are typically used when rendering shadows for geometry hair.
color and depth (z-channel)
information for each pixel, based on its surface and distance from the
camera. Before rendering starts, a shadow map is generated for the
light. This map contains information about the scene from the
perspective of the light’s origin. The information describes the distance
from the light to objects in the scene and the color of the shadow on
that object. During the rendering process, the map is used to determine
if an object is in a shadow.
To create shadow-mapped
shadows, you need to activate
shadows and configure the Regular shadow-mapped shadow of hair.
Shadow Map in the light’s
property editor.
Then, you need to enable
shadow maps in the renderer
options.

Volumic shadow-mapped shadow of hair.

Basics • 353
Section 19 • Lighting

Soft Shadows To create raytraced shadows,


you need to activate shadows
Soft shadows are created by in the light’s property editor.
defining area lights which are a You also need to activate and
special kind of point or spotlight. configure the Area Light in
The rays emanate from a the light’s property editor.
geometric area instead of a single
point. This is useful for creating Finally, you need to make
soft shadows with both an umbra sure that the Primary Rays
(the full shadow where an object Type is set to Raytracing in
blocks all rays from the light) and a penumbra (the partial shadow the renderer options.
where an object blocks some of the rays).
The shadow’s relative softness (the
relation between the umbra and
penumbra) is affected by the shape
and size of the light’s geometry.
You can choose from four shapes
and set the size as you wish.
To determine the amount of
illumination on a surface, a sample
of points is distributed evenly over
the area light geometry. Rays are A rectangular area light emits
cast from each sample point; all, light from a rectangular object
some, or none of the rays may be like this one.
blocked by an object. This creates a
smoothly graded penumbra.

354 • Softimage
Global Illumination

Global Illumination
Global illumination simulates the way bright light bounces off of
2 Set the light to emit global illumination photons.
objects and bleeds their color into surrounding surfaces. When global
illumination is activated, photons emitted from a designated light
travel through the scene, bounce off photon-casting objects and are
stored by photon-receiving objects.
Photon casting and reception are not mutually exclusive properties: an
object can do both, but only a light can emit photons. Global
illumination is often used with caustics, which is also a photon effect.
The following is an overview of how to set up global illumination for
the mental ray renderer.

1 Define objects as casters and receivers.


Activate Global Illumination on the Photon tab of the light’s
An object’s visibility property editor.
property allows you to You can then set the Intensity of the photon energy, which
set options that control determines the intensity of the color that bleeds onto photon
how the object receiving objects.
responds to global
illumination photons You can also set the Number of Emitted Photons.
emitted from a light.
Typically, both of these values will need to be set in the tens or
• Caster controls whether hundreds of thousands for the final global illumination effect.
photons bounce off of the object and continue to travel through the
scene. When this is off, the object simply absorbs photons.
• Receiver controls whether the object receives and stores photons.
When this is off, the photon effect is not visible on the object’s
surface.
• Visible controls whether the object is visible to photons at all. When
this is off, photons simply pass through the object.

Basics • 355
Section 19 • Lighting

3 Adjust the global illumination effect.

Once you’ve defined the caster, receivers and emitting lights,


you need to adjust the rendering options that control the
photon effect.
On the Caustics and GI tab for the renderer, activate Global
Illumination, then set these two important parameters:
• GI Accuracy specifies the number of photons that are
considered when any point is rendered.
• Photon Search Radius specifies the distance from the
rendered point within which photons are considered.
You’ll also need to fine-tune the photon intensity and the
number of emitted photons for each of the emitting lights.

4 Increase the radiance of the receiver object.

To further fine-tune the global illumination effect, adjust the


Radiance of the global illumination receiver objects.
Radiance controls the strength of the photon effect on the
object’s surface. This is useful for brightening or darkening
photon lighting in specific areas of a scene. The Radiance
parameter is set in each object’s surface shader.

356 • Softimage
Caustics

Caustics
Caustic effects recreate the way that light is distorted when it bounces
off a specular surface or passes through refractive objects/volumes. The 3 Adjust the caustic effect.
classic example is the light sparkling in the middle of a wine glass or the
floor of a swimming pool. In either case, light passes through refractive Adjust the rendering options that control
surfaces and is distorted, creating complex light patterns on surfaces the photon effect on the Caustics and
GI tab for the renderer.
that it affects.
Activate Caustics on this tab, then set
As with global illumination, caustics compute how photons emitted these two important parameters:
from a light travel across the scene and bounce over and through caster
• Caustic Accuracy specifies the number
and receiver objects. of photons that are considered when
any point is rendered.
Here is an overview of setting up caustic lighting for the mental ray
renderer, which is almost identical to setting up global illumination: • Photon Search Radius specifies the
distance from the rendered point within
which photons are considered.
1 Define objects as casters and receivers.
You’ll also need to go back to the
property editors of all emitting lights and
An object’s visibility
fine tune the photon intensity and the
property allows you to
number of emitted photons.
set options that
control how the
object responds
caustics photons
emitted from a light.

2 Set the light to emit caustic photons.

4 Increase the radiance of the receiver objects.


To make a light into a global
illumination photon emitter, To fine-tune the caustics effect, adjust
activate Caustics on the the Radiance of the caustics receiver
Photon tab of the light’s objects.
property editor.
Radiance controls the strength of the
You can then set the Intensity photon effect on the object’s surface.
of the photon energy and the This is useful for brightening or
Number of Emitted darkening photon lighting in specific
Photons. areas of a scene. The Radiance
parameter is set for each object’s
surface shader.

Basics • 357
Section 19 • Lighting

Final Gathering 4 Direct illumination contribution.


Final gathering is a way of calculating indirect illumination without 5 Final gathering point is computed.
using photon energy. Instead of using rays cast from a light to calculate
illumination, final gathering uses rays cast from each illuminated point Creating a Final Gathering Effect
on an object’s surface. The rays sample a hemisphere of a specified radius
above each point and calculate direct and indirect illumination based on Creating final gathering in a scene is more straightforward than
what they hit. The overall effect is that every object in the scene becomes applying caustics or global illumination. Most of the options that
a “light source” and influences the color and illumination of the objects control the final gathering effect for the mental ray renderer are on the
and environment surrounding it. Final Gathering tab of the renderer options.
The final gathering Accuracy options are the main settings used to
control the quality of a final gathering render.

1 You can use the scene objects’ visibility properties to precisely control
how each object participates in final gathering calculations.

3
4

1 Camera eye ray intersects with geometry who’s


shading needs to calculate indirect illumination. This scene was rendered using final gathering, which
”collects” the indirect and direct light around illuminated
2 Final gathering rays are shot into the hemisphere
points on an object’s surface to simulate real-world lighting.
above the intersection point to sample for
illumination.

3 Indirect illumination contribution.

358 • Softimage
Ambient Occlusion

Ambient Occlusion
Ambient occlusion is a fast and computationally inexpensive way to In Softimage, you can create an ambient occlusion effect by connecting
simulate indirect illumination. It works by firing sample rays into a the Ambient Occlusion shader in the render tree. This is most
predefined hemispherical region above a given point on an object's commonly done at the render pass level to create an occlusion pass that
surface in order to determine the extent to which the point is blocked, can be added in and adjusted during compositing. You can also use the
or occluded, by other geometry. shader on individual objects to limit the occlusion calculation.
Once the amount of occlusion has been determined, a bright and a
dark color are returned for points that are unoccluded and occluded Image-Based Lighting
respectively. Where the object is partially occluded the bright and dark You can light your scenes with images using the Environment shader
colors are mixed in accordance with the amount of occlusion. which surrounds the scene with an image. However, this shader has a
set of parameters that allow you to control the image’s contribution to
final gathering and reflections.

The image above shows a scene rendered using only the Ambient Occlusion
shader. The bright color is set to white and the dark color to black. This type Although you can use any image to light the scene this way, you will get
of rendering can be composited with other passes to add the occlusion the best results using a High Dynamic Range (HDR) image. That’s
effect to the scene’s color and illumination. because HDR images contain a greater range of illumination than
regular images, making them better able to simulate real-world
lighting.

Basics • 359
Section 19 • Lighting

Light Effects

The point light inside of this street lamp In the background of the scene, you can see the effect of
uses a flare effect. Flares are created depth-fading. Even though it affects the entire scene,
as properties of scene lights. the depth fading is defined by a light’s volumic property.

Softimage includes a number of


lighting effects that you can use to
enhance the realism and alter the look
and mood of your rendered scenes.
Different effects are applied differently.
Some are applied as properties of
lights, while others are defined by
shaders in the render tree.
This scene uses a variety of light effects
to capture the feeling of a dimly lit alley
on a foggy evening.

The volumic light shining out from the


window in the stairwell is created using
a volumic property applied to a light.

360 • Softimage
Section 20

Cameras
Virtual cameras in Softimage are similar to physical
cameras in the real world. They define the views that
you can render. You can add as many cameras as you
want in a scene.
you can also achieve a photorealistic motion blur
effect for every object and/or camera in your scene.

What you’ll find in this section ...


• Types of Cameras
• The Camera Rig
• Working with Cameras
• Setting Camera Properties
• Lens Shaders
• Motion Blur

Basics • 361
Section 20 • Cameras

Types of Cameras
Each of the images below was taken from the same position, but using
a different camera each time. The image on the right shows a
wireframe view of the original scene, including the position of the
camera.
These camera types are available from the Get > Primitive > Camera
menu.

Perspective (Default) Wide Angle


Uses a perspective projection, Creates a wide-angle view by
which simulates depth. using a perspective projection
Perspective cameras are useful and a large angle (100°) of
for simulating a physical view. Wide angle cameras
camera. The default camera have a very large field of view
in any new scene is a and can often distort the
perspective camera. perspective.

Telephoto Orthographic

Uses a perspective projection Makes all of the camera rays


and a small angle of view (5°) parallel. Objects stay the same
to simulate a telephoto lens size regardless of their
view where objects are distance from the camera.
“zoomed.” These projections are useful
for architectural and
engineering renderings.

362 • Softimage
The Camera Rig

The Camera Rig


Each camera that you create is made up of three separate parts: the
camera root, the camera interest, and the camera itself. If you look at a
camera in the explorer, you’ll see that the camera root is the parent of
both the camera and its interest. Each of these elements is displayed in
the 3D views as well.
The Camera
The camera is the camera is the camera. In the 3D views, it
is represented by a wireframe control object that you can
Camera Direction manipulate in 3D space. The camera has a directional
constraint to the camera interest.
The camera icon displays a blue and a green arrow. The blue
arrow shows where the camera is “looking”; that is, the direction
the lens is facing. The green arrow shows the camera’s up
direction, which you can change by rolling the camera (press L).

The Camera Interest


The camera’s interest—what the camera is always looking
at—is represented by a null. You can translate and
animate the null to change the camera’s interest.
The Camera Root
The camera root is represented by a null. By default, it appears
in the middle of the wireframe camera, but you can translate
and animate it as you would any other object. The null is
useful as an extra level of control over the camera rig, allowing
you to translate and animate the entire rig the same way that
you animate its individual components.

Basics • 363
Section 20 • Cameras

Working with Cameras


Once you’ve created your cameras, you’ll probably want to move them
around to capture just the right angles. You may also need to switch
back and forth between different cameras to compare points of view. Choose a camera from the list to
switch the viewport to that
camera’s view.
Selecting Cameras and Camera Interests
Choose Render Pass to switch to
Cameras or their interests can be tricky to select. Luckily, there are the camera view defined for your
several ways to select either or both. You can: render pass.
You can select a predefined
• Locate the camera or interest in a 3D view and click it to select. orthographic viewpoint, but it’s
not an actual camera view.
• From any viewport, click the camera icon on its menu bar, then
choose Select Camera or Select Interest. This selects the camera
used in that viewport. Positioning Cameras
• From the Select panel, choose Explore > Cameras. This opens a Once you select a camera, you can translate, rotate, and scale it as you
floating explorer that shows every camera in your scene and its would any other object. However, scaling a camera only affects the size
interest. Select a camera or interest from the list. Of course, you can of the icon and does not change any of the camera properties.
also do the same thing from a regular explorer once you locate the
Generally, the most intuitive way of positioning cameras is to set a 3D
cameras.
view to a camera view and then use the 3D view navigation tools to
change the camera’s position. As you navigate in the 3D view, the
Selecting Camera Views camera is subject to any transformations that are necessary to keep its
Camera views let you display your scene in a 3D view from the point of interest in the center of its focal view.
view of a particular camera. If you have created more than one camera Since positioning cameras is often a process of trial and error, you’ll
in your scene, you can display a different camera view in each 3D view. probably find yourself wanting to undo and redo camera moves.
Choosing a camera from a viewport’s Cameras menu switches the • Press Alt+Z to undo the last camera move.
viewpoint to that of a “real” camera in your scene. All other views such
as User, Top, Front, and Right are orthogonal viewpoints and are not • Press Alt+Y to redo the last undone camera move.
associated to an actual camera. If you’ve zoomed in and out too much and the perspective on your
camera is in need of a reset or refresh, press R. This resets the camera in
the 3D view in which the cursor is.

364 • Softimage
Setting Camera Properties

Setting Camera Properties Field of View


The Camera property editor contains every parameter needed to define The field of view is the angular measurement of how much the camera
how a camera “sees” your scene. can see at any one time. By changing the field of view, you can distort
the perspective to give a narrow, peephole effect or a wide, fish-eye
To open the camera property editor, do one of the following: effect.
• Select a camera and choose Modify > Shader from the Render
toolbar.
• Click on the camera’s icon in the explorer.
• Double-click the camera’s node in the render tree.
• From the camera icon menu of any viewport set to the camera’s
view, choose Properties.

Camera Format
The camera’s “format” refers to the picture standard that the camera is
using and the corresponding picture ratio. You can also specify a
The camera’s Vertical field of view was made large enough to accommodate
custom picture standard with a picture ratio that you define. The the entire building. The Horizontal field of view was automatically calculated
default camera format is NTSC D1 4/3 720x486, with a picture ratio of based on the aspect ratio.
1.333, but several standard NTSC, PAL, HDTV, Cine, and Slide formats
are also available.

Using the same camera in the same location, the Vertical field of view is
much smaller, thus making only a small part of the building visible.

Basics • 365
Section 20 • Cameras

Setting Clipping Planes Lens Shaders


You can use clipping planes to set the minimum and maximum Lens shaders are used to apply a variety of different effects to
viewable distances from the camera. Objects outside these planes are everything that a camera sees. Some lens shaders create generalized
not visible. effects, such as depth of field, cartoon ink lines, or lens distortion.
By default, the near plane is very close to the camera and the far plane Others are more utility oriented, and do things like emulate real-world
is very far away, so most objects are usually visible. You can set clipping camera lenses or render depth information.
planes to display or hide specific objects. Lens shaders can be used alone, or in conjunction with other lens
shaders. For example, you might want to render a bulge distortion and
depth of field simultaneously. You can apply lens shaders to cameras as
well as passes.

Applies a shader to
This is a camera with no clipping planes set—which means the resulting the camera.
image (right) is every object in the scene.
Removes a shader from
the shader stack.

Opens the selected


shader’s property editor.

Lists every shader applied


to a camera.

Lens shaders are applied via the shader


stack on the Lens Shaders tab of the
camera’s property editor.

This is a camera with near and far clipping planes set. The near plane is
between the first two buildings and the far clipping plane is between the last
two buildings. Everything before the first plane is invisible and everything
beyond the far clipping plane is also invisible, as seen in the resulting image
(right).

366 • Softimage
Lens Shaders

The images below and beside show this scene Toon Ink Lens shader
rendered using three different lens shaders.

Lens Effects Shader (Fisheye distortion setting)

Depth of Field shader

Basics • 367
Section 20 • Cameras

Motion Blur You can apply motion blur properties to cameras. This is useful when
both the camera and scene objects are moving, but you only want the
Motion blur adds realism to a scene’s moving objects by simulating the blur caused by the object’s movement.
blur that results from objects passing in front of a camera lens over a
specified period of exposure. In Softimage, you can easily achieve a Rendering Motion Blur
photorealistic motion blur effect for every object and/or camera in
your scene. Motion blur is active for the scene by default. To view the motion blur
of objects in a scene, activate the motion blur settings in the render
region options and/or the render pass options. As long as these options
are on and you have a moving object in your scene, the motion blur is
visible.
First set the scene motion blur settings. In particular, the Speed option
which specifies the time interval (usually between 0 and 1) during
which the geometry and any motion transformations and motion
vectors are evaluated for the frame. The motion data is then pushed to
the renderer (by default mental ray).
Setting the Speed value to 0 turns motion blur off. Longer (slow)
shutter speeds (a difference of greater than 0.6) create a wider and/or
longer motion blur effect, simulating a faster speed. Shorter (quicker)
shutter speeds (a difference of less than 0.3) create subtler motion
blurs.

Creating a Motion Blur Property


To control motion blur for a specific object in a scene, you can assign it
a motion blur property. This is primarily useful when you want to force
motion blur off for a given object, or when you have a few objects that
need deformation motion blur. In the first image (left), a quick shutter speed (< 0.1) is used, then a slower
shutter speed (middle), and finally (right) a very slow shutter speed (> 0.6).
To create the motion blur
property, select one or You can also specify an Offset for the shutter’s time interval which
more objects and choose allows you to push the motion blur trails, even extend them into later
Get > Property > Motion frames. Additionally, you can define where on the frame the blur is
Blur from the Render evaluated and rendered.
toolbar.

368 • Softimage
Section 21

Rendering
Rendering is the last step in the 3D content creation
process. Once you have created your objects,
textured them, animated them, and so on, you can
render out your scene as a sequence of 2D images.
Your ultimate goal may not be just to render, but to
optimize rendering quality and speed.

What you’ll find in this section ...


• Rendering Overview
• Render Passes
• Render Channels
• Setting Rendering Options
• Different Ways to Render

Basics • 369
Section 21 • Rendering

Rendering Overview
The process or rendering out your scenes can vary considerably from - Batch rendering using the [xsi -render | xsibatch -render]
project to project. However, here is a typical sequence of tasks you command line.
might follow when rendering:
- Batch rendering with scripts using the -script option at the
1. Set up render passes and define their options. command line.
Render passes let you render different aspects of your scene - Using the ray3.exe command line.
separately, such as a matte pass, a shadow pass, a highlight pass, or
- Using mental ray’s tile-base distributed rendering across several
a complete beauty pass. You can define as many render passes as
machines. To do so, you must define which machines to use and
you want: within each pass, you can create partitions of lights and
how.
objects, then apply shaders and control their settings together.
6. Composite and apply effects to passes.
2. Set up render channels and define their options. These allow you to
output different information about the pass to separate files. You can use Softimage Illusion, a compositing and effects toolset
that’s fully integrated in Softimage, or you can use another post-
3. Set rendering options.
production tool.
All objects, including lights and cameras, are defined by their
rendering properties. For example, you can determine whether a Softimage and mental ray®
geometric object is visible, whether its reflection is visible, and
whether it casts shadows. Rendering properties can be set per Softimage uses mental ray as its core rendering engine. mental ray is
render pass as well. fully integrated in Softimage, meaning that most mental ray features
are exposed in Softimage’s user interface, and are easy to adjust — both
4. Preview the results of any modifications. while creating a scene and during the final renderings. Full integration
The viewports can display your scene in different display modes, with mental ray also allows artists to generate final-quality preview
including wireframe, hidden-line removal, shaded, and textured. In renders interactively in 3D views, using the render region.
addition, you can view any portion of your scene in a viewport and
rendered by defining a render region. Or preview a full frame using Rendering Visibility
Render Preview. Every geometric object in a scene has a visibility property that controls
5. Render the passes and their render channels. whether it is visible when rendering, and in particular whether it is
visible to various types of rays (primary, secondary, final gathering,
Softimage gives you the option of rendering using any one of the and so on). This visibility property exists locally on every 3D object in
following methods: Softimage and cannot be applied or deleted. However, visibility can be
- Interactively from the Render Region. overridden at the partition level. In complex scenes, setting rendering
visibility options can be difficult to manage on a per-object basis. It’s
- Interactively, using the single-frame preview tool. easier to partition objects and use overrides to control rendering
- Interactively from the Softimage user interface. visibility for all of the objects in a partition.

370 • Softimage
Render Passes

Render Passes
A render pass creates a “layer” of a scene that can be composited with Each scene can contain as many render passes as you need. When you
any other passes to create a complete image. Passes also allow you to first create a scene in Softimage, it has a single pass named Default_pass.
quickly re-render a single layer without re-rendering the entire scene. This is a “beauty pass” that is set to render every element of the scene.
Later, you can composite the rendered passes back together, making You can create additional passes to render specific elements and
adjustments to each layer as needed. attributes as needed.

This photograph (background pass) is the This image is the composite of all these passes. The specular pass is used to capture
background scene over which the dinosaur Rendering in passes allows you to tweak each isolated an object’s highlights.
will be composited. element separately without having to re-render your scene.

The shadow pass isolates the scene’s shadows


This pass is a rendered image of the dinosaur. The matte pass “cuts out” a section of the so you can composite them in later. This
Compositing it over the background would rendered image so another image can be allows you to edit a shadow’s blur, intensity,
make the scene rather flat and unrealistic. composited over or beneath it. and color without any additional rendering.

Basics • 371
Section 21 • Rendering

Render Pass Workflow Setting the Current Pass


The following steps provide an overview of how to use render passes: The current pass is the pass to which all pass and partition properties
are applied. The current pass is also the pass displayed in 3D views
1. Create and name a new render pass.
when the Render Pass view is displayed in a viewport.
2. Edit the pass using either Pass > Edit > Current Pass from the
Render toolbar or the render manager. To set the current pass click the
arrow beside the Pass selection menu
3. Define partitions to edit the objects and lights in your render pass on the Render toolbar.
depending on what effect you want to achieve. Then from the pass list, choose the
4. Specify the active camera for the pass. render pass you want to set as
current.
5. Apply shaders and override properties for the pass and its
partitions. An override lets you control specific shader parameters
in a partition. Setting the Pass Camera
6. Set the pass options for each pass. You can specify the camera you want to use for each render pass. The
7. Set the renderer options for each pass. active camera provides the viewpoint from which the pass is rendered.
In the render pass property editor, on the Output tab, choose a camera
8. After you have set up render passes, you can render them. from the Pass Camera list, which lists all of a scene’s cameras.
9. You can then composite and apply effects to the passes using Choose Cameras > Render Pass from any viewport Views menu to see
Softimage Illusion. the current pass from the viewpoint of the active camera.

Creating Passes
You will most likely want to create several passes as your scene grows in
size and complexity. You can create a variety of pass types from the
Render toolbar’s Pass > Edit > New Pass menu.

372 • Softimage
Render Passes

Creating Partitions
A Current pass. The current pass is always displayed in
A partition is a division of a pass that behaves like a group. There are bold typeface.
two types of partitions: object and light. Light partitions can only Each pass has its own options. This lets you optimize
contain lights, and object partitions can only contain geometric your rendering by enabling only those options you
need for each pass. For example, you could enable
objects. shadow calculations only in the shadow pass.
Placing objects in partitions allows you to control their attributes by Expanding any pass node displays its renderer
modifying them at the partition level rather than at the individual options, the active camera for the pass, its partitions,
and any environment, output, and/or volume shaders
object level. The modifications affect only the objects in the partition applied to the pass as a whole.
for the specific render pass to which the partition belongs. This allows
you to change object attributes on a per-pass basis. B Pass renderer options. Depending on which
renderer you have chosen for your pass, click the
Create an empty partition by choosing Pass > Partition > New Partition Hardware Renderer or mental ray icon to edit the
on the Render toolbar and then add elements to it. Or you can select pass’s renderer options.
some objects and choose the same command to create a partition that You can identify whether the pass is using a local or
automatically includes these objects. global set of render options by the Roman or italic
typeface displayed for the renderer’s node.

Viewing Passes and Partitions in the Explorer C Pass camera. Click the camera icon to define
camera and lens-shader options for the pass. You
In an explorer set the scope to Passes (press P) to see a hierarchical list can add new cameras to your scene and set them as
of all of the render passes in your scene with their contents. active if needed.

D Background partition. Every pass is created with


A two background partitions which contain the scene’s
B objects and lights.
C Background partitions usually contain every object in
D your scene that isn’t modified in the pass. However,
nothing is stopping you from modifying the contents
H of these partitions as well.
E

F
G

Basics • 373
Section 21 • Rendering

E
Applying Shaders to Passes and Partitions
Partition. A partition is a division of a pass, which
behaves like a group. Partitions are used to organize You can apply environment, volume, output, and lens shaders to an
scene elements within a pass.
entire pass using the shader stacks in the render pass property editor.
Expanding any partition node allows you to see its
contents, as well as any materials, shaders, overrides, Applies a shader to the
and other properties that are applied to it. camera.
Each pass has two default partitions: a background
objects partition that contains most or all of the Removes a shader from
scene’s objects, and a background lights partition the stack.
that contains most or all of the scene’s lights. You
Opens the selected
can add as many additional partitions as you need
shader’s property editor.
for a pass, but an object can only be in one partition
per pass. The applied shaders are
listed in the stack.
F Framebuffers. The framebuffers folder holds all the
active render channels defined for the pass including
its Main render channel. When you apply shaders to partitions using the Get > Material
G Passes. Additional passes including the default command, they take precedent over the shaders applied directly to
“beauty” pass are listed in creation order unless you objects in the scene, but only for that pass.
have modified the explorer’s sort order settings.
Overriding Shader Parameters
H A material is assigned to a partition. The “B”
indicates that it was applied in branch mode and is You can use an override property to redefine specific shader parameters
propagated to every object in the partition. If any
objects in the partition have local materials, they will in a partition. For example, if a scene contains several hundred objects
be overridden by the partition-level material for this and you want to edit each object’s transparency value without
pass. modifying the original material, you can create a partition that
contains the objects you want to change, and apply an override
property that affects only the transparency parameter of each material.

An override changes the ambient and diffuse values to black, but leaves the
other values untouched.

374 • Softimage
Render Channels

Render Channels
Render channels are a mechanism for outputting multiple images, each The advantage of using render channels is that they are easy to define
containing different information, from a single pass. When you render and quick to add to any pass. Preset render channels allow you to
the pass, you can specify which channels should be output in addition isolate scene attributes that are commonly rendered in separate passes.
to the full pass. By default a Main render channel is defined for every You do not need to create complex systems of partitions and overrides
pass (you can think of it as the “beauty” channel rendered for each to extract a particular scene attribute. All you need is your default pass
pass). You can use these images at the compositing stage, the same way and you can quickly output the preset diffuse, specular, reflection,
you would use any render pass. refraction, and irradiance render channels.

Setting Rendering Options


This scene defines six preset
render channels, each Rendering options are set for the scene, for your renderer of choice (by
extracting specific attributes default this is mental ray), and for each render pass you define. For
of the objects’ surface
materials.
interactive preview renders, the render region has its own set of
renderer options. You can access these rendering options from different
Any combination of these places:
channels can be rendered
with the pass. • Render toolbar: opens the scene, pass, and renderer property
editors.
- Choose Render > Scene Options
- Choose Render > Pass Options (for the current pass)
- Choose Render > Renderer Options (active renderer for the
current pass)
• Explorer: press 8 to open an explorer and then press P to set the
scope to Passes or press U to set it to Current Pass. From there you
Refraction Channel Reflection Channel Irradiance Channel can click the scene, pass, or renderer nodes to display their property
editors.
• Render Manager: a dedicated view for editing scene, pass, and
renderer options. It contains a built-in explorer view, quick access
to pass rendering, rendering and output preferences, and a copy
manager for you render settings. Choose Render > Render
Manager from the Render toolbar.

Ambient Channel Diffuse Channel Specular Channel

Basics • 375
Section 21 • Rendering

Anatomy of the Render Manager

E
B C
D F

376 • Softimage
Setting Rendering Options

A Explorer panel Select from the explorer the various render G Passes The render options for all the render passes
(left panel) options available for editing. You can edit render defined in your scene.
options for the scene, for the renderer, and for The pass render options allow you to modify
each pass defined in the scene. Depending on settings specific to each pass. You can set output
your selection, the options are displayed in the paths, specify the pass camera, output your pass
middle or right panel. to a movie file, apply pass-level shaders, add
render channels, and more.
B Render pass When you select a render pass, the render options
panel (middle for the selected pass are displayed in the middle H Global The render options for all available renderers.
panel) panel. renderers
If you select multiple passes (Ctrl-select), you can
simultaneously edit their common parameters. I Scene Render The scene render options allow you to modify
“Multi Edit” will appear at the top of the panel to Options global settings for the entire scene. You can
indicate that you are in this mode. specify things like the renderer to use, the frames
to render, the basic output path and format for
C Renderer When you select Scene Render Options or one of rendered images. You can also create custom
options panel the global renderers (mental ray, Hardware render channels that you can add to individual
(right panel) Renderer, etc.), the options for the selected item passes.
are displayed in the right panel.
J Current pass The current pass is displayed in bold in the
This is also the case when you select a render pass explorer.
that contains a set of local render options.
If your selected passes use different renderers
then “Mixed Selection” will appear at the top of
the panel and no options are displayed.

D Use these commands to render the current pass,


the selected passes, all passes in the scene, the
Render menu current frame, or the current frame for all passes
in the scene.

E Edit > Override Marked Pass Parameters


Edit > Make Renderer Local to Pass
Edit menu Edit > Make Pass Renderer Global
Edit > Open Rendering Preferences
Edit > Open Output Format Preferences
Edit > Copy Render Options

F Updates the render manager after modifications.

Refresh

Basics • 377
Section 21 • Rendering

Selecting a Renderer Raytracing


You usually render a scene using the default mental ray rendering Raytracing calculates the light rays that are reflected, refracted, and
software, which is built into Softimage. mental ray uses three rendering obstructed by surface, producing more realistic results. Each refraction
algorithms: scanline, raytracing, and rasterizer. You can also use the or reflection of a light ray creates a new branch of that ray when it
hardware renderer, which renders whatever is displayed in a 3D view bounces off an object and is cast in another direction. The various
(such as a viewport in Shaded display mode). branches a ray constitute a ray tree. Each new branch can be thought of
as a layer: if you add together the total number of a ray’s layers, it
Scanline and raytracing are normally used together. mental ray uses represents the depth of that ray.
the scanline method until an eye ray changes direction (due to
reflection or refraction and so on), at which point it switches to the
raytracing method. Once it switches, it does not go back to scanline This scene was rendered using
until the next eye ray is fired. Without scanline rendering, the render is the raytracing render method.
Notice how the glass’ reflections,
usually slower. Without raytracing, transparency rays are rendered, but transparency, and refraction are
reflection rays cannot be cast and refraction rays are not computed. more realistic than with Scanline
rendering.
The Rasterizer accelerates motion blur rendering in large and complex
scenes with a lot of motion blur. You must set special sampling options.

Scanline
Scanline rendering is a rendering method used to determine primary
visible surfaces. Scene objects are projected onto a 2D viewing plane,
and sorted according to their X and Y coordinates. The image is then Hardware Rendering
rendered point-by-point and scanline-by-scanline, rather than object- The Softimage hardware renderer allows you to output a scene as it
by-object. Scanline rendering is faster than raytracing but does not appears when displayed in any 3D view whose viewpoint is that of the
produce as accurate results for reflections and refractions. pass camera. Most of the hardware rendering modes correspond to the
3D views’ display modes Wireframe, Shaded, Textured, and so on.
This scene was rendered using
scanline rendering only. Notice Hardware rendering is useful for generating previews of your scene
how the transparency has little using all of the display options available in 3D views. It is also useful for
depth, and there is no reflection or outputting realtime shader effects to file.
refraction.

378 • Softimage
Different Ways to Render

Different Ways to Render You can resize and move a render region, select objects and elements
within the region, as well as modify its properties to optimize your
There are several ways to render a scene, from single frame previews to preview. Whatever is displayed inside that region is continuously
large sequences rendered to file. Some rendering methods are launched updated as you make changes to the rendering properties of the
from Softimage’s interface, others from the command-line. objects. Only this area is refreshed when changing object, camera, and
light properties, when adjusting rendering options, or when applying
Previewing Interactively with the Render Region textures and shaders.
You can view a rendering of any section or object in your scene quickly Comparing Render Regions
and easily using a render region. Rather than setting up and launching
a preview, you can simply draw a render region over any 3D view and The render region has memo regions that allow you to store, compare,
see how your scene will appear in the final render. and recall settings. They look similar to the viewports’ memo cams, but
are not saved with the scene.
To draw a render region, press Q to activate the render region tool and
drag in any 3D view to define the region’s rectangle. Press Shift+Q to Middle-click to store, and click to display. The
currently displayed cache is highlighted in
toggle the region on and off.
white. Right-click for other options.

The left side shows The right side


the stored region. shows the current
settings.

Drag the swiper to show more or


less of one image or the other.

Be careful when comparing render regions. You should do


this only when you are tweaking material and rendering
parameters, and not making other changes to the scene. If
you revert to previous settings, either accidentally or on
The render region uses the same renderer as the final render (mental purpose, you will lose any modeling, animation, or other
ray), so you can set the region to render your previews at final output
changes you have made in the meantime.
quality. This gives you an accurate preview of what your final rendered
scene will look like.

Basics • 379
Section 21 • Rendering

Previewing a Single Frame • To render a selection of passes, select the passes in the explorer and
click the Render Pass > Selected button in the Render Manager, or
The Render > Preview command in the Render toolbar lets you choose Render > Render > Selected Passes from the Render
preview the current frame at fully rendered quality in a floating toolbar. The passes are rendered one after the other.
window. The frame is rendered using the render options for the
current render pass or using the render region options defined in any
Batch Rendering (xsi -render| xsibatch -render)
of the four viewports.
You can use -render command-line options to render scenes without
opening the Softimage user interface. In addition, you can export
render archives from the command line. The most common rendering
options are available directly from the command line, while other
options can be changed by specifying a script using the
-script option.

ray3.exe Rendering
You can render scenes using the mental ray standalone — ray3.exe
from a command line. Although many of the ray3.exe commands are
available in the Softimage interface, you may want to use the ray3.exe
command line tool to manually override options in exported MI2 files.
You can edit the MI2 files to define extra shaders, create objects, swap
textures, or perform other tasks.

Distributed Rendering
Distributed rendering is a way of sharing rendering tasks among several
Rendering to File from the Softimage Interface networked machines. It uses a tile-based rendering method where each
frame is broken up into segments, called tiles, which are distributed to
You can render your passes directly from the Softimage interface. Once participating machines. Each machine renders one tile at a time, until
the pass options are set, all you need to do is start the render in any of all of the frame’s tiles are rendered and the frame is reassembled. By
these ways: spreading the workload this way, you can decrease overall rendering
time considerably.
• To render all of your scene’s passes, click the Render Pass > All
button in the Render Manager, or choose Render > Render > All Once you’ve set up a distributed rendering network, rendering tasks are
Passes from the Render toolbar. distributed automatically once a render is initiated on a computer. The
initiating computer is referred to as the master and the other
• To render the current pass, click the Render Pass > Current button
computers on the network are referred to as slaves. The master and
in the Render Manager, or choose Render > Render > Current Pass
slaves communicate via a mental ray service that listens on a designated
from the Render toolbar.
TCP port and passes information to the mental ray renderer.

380 • Softimage
Section 22

Compositing and
2D Paint
Softimage Illusion is a fully integrated compositing,
effects, and 2D paint toolset that is resolution
independent and supports 8, 16, and 32-bit floating-
point compositing.
You can use Softimage Illusion operators to perform
compositing and effects tasks ranging from
tweaking the results of a multi-pass render to
creating complex special effects sequences.
The effects that you create are part of your scene that
are accessible from the explorer, are accessible to
Softimage’s scripting and animation features, and
support clips and sources, as well as render passes.

What you’ll find in this section ...


• Softimage Illusion
• Adding Images and Render Passes
• Adding and Connecting Operators
• Editing and Previewing Operators
• Rendering Effects
• 2D Paint
• Vector Paint vs. Raster Paint
• Painting Strokes and Shapes
• Merging and Cloning

Basics • 381
Section 22 • Compositing and 2D Paint

Softimage Illusion
The Softimage Illusion toolset consists of three core views: the FxTree, There is also a Compositing layout available from the View > Layouts
where you build networks of effects operators; the Fx Viewer, where menu. It contains the three core Fx tools arranged in a way that makes
you preview the results; the Fx Operator Selector, from which you it easy to build and preview effects. Using this layout for compositing
insert pre-connected operators into the FxTree. and effects work is usually more efficient than simply opening the
required views in viewports because the non-compositing tools and
Each of these views can be opened in a viewport or as a floating view
views are mostly hidden.
(choose View > Compositing > name of view from the main menu).

Fx Tree
where you create Fx Viewer
networks of linked 2D viewer in which you
operators to composite can preview each
images and create operator to see how it
effects. contributes to the overall
effect.
You can create multiple
instances of the FxTree
workspace — called
trees — to organize
effects more efficiently.

Fx Operator Selector
Lists all of the available
compositing and effects
operators.
Once you select an
Fx Operators operator here, you can
Operators are pre-set its connections to
represented by nodes existing operators in the
that you can link Fx Tree and then
together manually or simultaneously insert and
connect beforehand connect it in the Fx Tree.
using the Fx Operator
Selector.

382 • Softimage
Adding Images and Render Passes

Adding Images and Render Passes


Before you can composite anything, or create any effects, you need to Getting Image Clips Clip In
import images into the Fx Tree. There are several ways of doing this. Operator
The Fx Tree has direct access to all of the
image clips in your project. Inserting
Getting File Input Operators
image clips into the FxTree creates a pair
Importing images into the FxTree creates a File Input operator for each of Image Clip operators for each imported Clip Out
imported image. The operator points directly to the image on disk clip. Operator
without creating an image source or clip.
Image Clip operator pairs consist of two
When you import an image, the File Input operator’s properties are operators:
automatically updated according to the image’s properties.
• Clip In (or From): reads from the image clip.
To import image files, click the Import Images button in the
• Clip Out (or To): writes back to it.
FxTree menu bar or choose File > Import Images from the FxTree
menu bar. A browser opens from which you can select an image to You can modify the image clip itself by adding effects operators
import. between the Clip In and Clip Out operators. This updates the clip
wherever it is used in the scene.
The Clip In and Clip Out operators are primarily used to modify
images that are used outside of the Fx Tree. For an actual composite or
effect that you intend to render to file, it’s better to use File Input
Select this option to
import an image using a operators.
File Input operator.
To import image clips, select an image clip from the FxTree’s Clips
menu.
Getting Render Passes
Setting Image Defaults
In the FxTree, you can import any rendered pass (or all of them at
once) from the Passes menu. A File Input node is created for each pass Before you begin building effects, you may want to adjust the Fx Tree’s
that you import, and the file name, start frame, and end frame are all image defaults to conform to your chosen picture format. The image
based on the pass render options. The file extension is based on the defaults affect all operators that create an image (the Pattern Generator
pass’ image format and output channels. operator, for example), and are applied when you opt to output an
operator with the default size, and/or bit-depth. Each tree that you
Select this option to add create has its own set of image defaults that specifies the width/height,
all rendered passes to the
Fx Tree.
bit depth, and pixel ratio.
To set the image defaults, choose File > Tree Properties from the Fx Tree
Select a pass to add it to
the Fx Tree. menu.

Basics • 383
Section 22 • Compositing and 2D Paint

Adding and Connecting Operators


The FxTree is where you create networks of linked operators to If you need to build several different networks, you can create multiple
composite images and create effects. Operators are represented by instances of the FxTree workspace—called trees—to organize them
nodes that you can link together manually, by dragging connection more efficiently. Each tree is a separate operator in the scene with its
lines, or connect beforehand using the Fx Operator Selector. own node in the explorer.

Fx Tree Menu Navigation Control


Provides access to operators, render Allows you to navigate in the Fx Tree workspace when a
passes, image clips, and Fx Tree tools network of operators becomes to large to display all at once.
and preferences. • Dragging in the rectangle pans in the Fx Tree workspace.
• Dragging the zoom slider up and down zooms in and out.
1 Start by adding images and/or
sequences to the Fx Tree. These Operator Connection Icons
are the images that you want to
composite together and/or build • Green icons accept image
effects on. inputs. You can connect
almost any operator to
green inputs.
2 Next you need to add and connect • Blue icons accept matte (A)
the operators required to build inputs, which are generally
your effect. used to control transparency.
• Red connections icons are
You can get any operator from outputs, plain and simple.
the Ops menu and connect it
by dragging connection lines
from other operators’ outputs to Fx Operator Selector
its inputs. A tool for inserting operators into the Fx Tree. Select
an operator from the list, then consecutively middle-
You can also use the operator click the existing operators you wish to connect to its
selector to pre-define operator inputs and output. Middle-click in an empty area of
connections before you inset the the Fx Tree workspace to add the operator.
operators into the Fx Tree.

3 Once you’ve built your effect, you


can render it out using a File
Output operator. Once you define all of the
needed connections,
Operator information middle-click an empty area
Positioning the mouse pointer over of the Fx Tree workspace
an operator displays information at to add the operator.
the bottom of the Fx Tree.

384 • Softimage
Adding and Connecting Operators

Fx Operator Types
Whether you’re compositing a simple foreground image over a background, or applying a complex series of effects to an image, every step of the
process is accomplished by an operator in the FxTree. By connecting these operators together, you can create composites and special effects.

Operator Type Description Operator Type Description

Image Image operators act as the in and out points for each Color Curves Use the Color Curves operators to graphically adjust
effect in the FxTree. color components of images in the FxTree, and to
extract mattes for foreground images so that you can
• File input operators are placeholders for images in the
composite them over background images.
tree.
• Paint Clip operators are used to import images into Grain Grain operators alter the appearance of film grain in
the FxTree for raster painting. your image sequences. You can add and remove grain,
• Vector Paint operators are used to create vector paint as well as adding and removing noise.
layers in the FxTree.
Optics Optics operators create optical effects in images in the
• PSD Layer Extract operators extract a single layer from FxTree. These include depth-of-field, lens flares, and flare
a .psd image. rings.
• File Output Operators let you set the output and
rendering options for your composites and effects. Filter Filter operators let you control the appearance of
images in the FxTree. Among other things they can
Composite Composite operators offer you several ways to combine reproduce the effects of different lens filters, apply
foreground images with a background image to blurs, and add or remove noise.
produce a composited result. Most compositing
operators require a foreground image, a background Distort Distort operators simulate 3D changes to images in the
image, and an internal or external matte. FxTree. Use these operators to apply distortions and
transformations
Retiming Retiming operators allow you to change the timing of
image sequences. You can, for example, convert from Transform Transform operators adjust the dimensions and/or
24 to 30 frames-per-second and vice versa, interlace position of Images in the FxTree. Besides cropping and
and de-interlace clips, and change the duration of clips resizing images, you can also use the 3D Transform
by dropping frames, or combining them together in operator to transform an image in a simulated 3D
different ways. space, as well as warp and morph images.

Transition Transition operators create animated changes from one Plugins The plugins operators offer a variety of patterns and
image clip to another. You can use transition operators special effects that you can use in your FxTrees. All of
to apply dissolves, fades, wipes, pushes, and peels. the Plugins operators are custom operators—called
UFOs— that were created using the UFO SDK.
Color Adjust Color adjust operators let you color correct clips in the
FxTree. You can modify and animate hue, saturation, Painterly Painterly Effects operators allow you to apply a variety
lightness, brightness, contrast, gamma, and RGB values. Effects® of classic artistic effects to images in the FxTree. The
You can also perform various operations like inverting, Softimage compositor’s three sets of Painterly Effects
images, premultiplying images, and so on. operators let you apply effects like Chalk & Charcoal,
Watercolor, Bas Relief, Palette Knife, Stained Glass, and
many more, to images in the FxTree.

Basics • 385
Section 22 • Compositing and 2D Paint

Editing and Previewing Operators


A big part of building an effect is previewing operators and editing The Edit hotspot opens the operator’s property editor, while the View
their properties. As you adjust an operator’s parameters, you can see hotspot previews the operator in the Fx Viewer. This allows you to
the effect of your changes reflected in the Fx Viewer. There are several open one operator’s property editor while you’re previewing another
ways to edit and preview operators, but the easiest is to use the View operator. For example, you might want to see how color correcting one
and Edit hotspots that appear when you position the mouse pointer image affects the composited result of that image and another one.
over an operator.

Operator Info
Displays info about the operators
being viewed and edited.
Navigation Tool
Drag in the rectangle to
pan. Drag on the slider
to zoom.

Click the Edit hotspot Click the View hotspot


to open the operator’s to preview the operator
property editor. in the Fx Viewer.

Compare Area
Displays a portion of one
image while you're editing
another image. This is
useful for seeing one
operator’s effect on
another.

Display Area
Image courtesy of Ouch! Animation Displays the operator that
you’re previewing.

Split viewers Display image’s alpha Displays the current image at full size.
A and B. channel as a red overlay.
Toggles the Compare Area

Updates the Compare Area


with the current image.

Switch viewers Isolate one of the Forces the current image to fit in the viewer.
A and B. image’s color channels. Mixes the view with the Merge Source.

386 • Softimage
Rendering Effects

Rendering Effects
Once you have your effect looking the way you want it, you can render Rendering Effects From the Command Line
it to a variety of different image formats using a File Output operator.
You can also render effects non-interactively from the command line
The File Output property editor is where you set all of the effect’s using xsi -script or xsibatch -script. Make sure that your
output options, including the picture standard, file format, and range script contains the following line (VBScript example):
of frames.
RenderFxOp "OutputOperator", False
where OutputOperator is the name of the FileOutput operator that
you want to render. The False statement specifies that the Fx Rendering
Click here to open the dialog box should not be displayed during rendering.
Rendering window.

Enter a valid filename,


path and format here.

When the sequence is


rendered, click here to open
a flipbook and view it.

Specify the range of frames


to render.

Once you’ve set the output options, all you need to do is click the
Render button to start the rendering process. In the Rendering
window, you will get information regarding the rendering of
the sequence.

Basics • 387
Section 22 • Compositing and 2D Paint

2D Paint
Softimage’s compositing and Effects toolset includes a 2D paint You work with paint operators the same way you work with other Fx
module which offers 8 and 16-bit raster and vector painting. To paint operators, making it easy to touch up images, fine-tune effects, edit
on images, you set up paint operators in the FxTree and then paint on image clips, paint custom mattes, create write-on effects, and so on.
them in the Fx viewer, where a Paint menu gives you access to a variety You can also use blank paint operators to paint images from scratch.
of paint tools.

Paint Menu
When you edit a paint operator, the paint menu is
added the Fx Viewer, giving you access to all of the
paint-related commands and tools.
Fx Paint Brush List
Lists all of the paint
brushes available for
painting strokes.
All of the brushes are
presets based on the Fx Viewer
same core set of When you edit and
properties. preview a paint operator,
the Fx Viewer is where you
The Fx Paint Brush List is actually paint strokes and
an optional view in the shapes.
compositing layout
(shown here).
To open: choose View Fx Color Selector
> Compositing > Fx Allows you to choose
Color Selector from foreground and
the main menu. background paint colors
using a variety of different
color models.

Paint Operators To open: position the


Behave exactly like other mouse pointer in the Fx
operators in the Fx Tree, and Viewer and press 1, or
can be connected manually or choose View >
using the operator selector. Compositing > Fx Color
Selector from the main
menu.

388 • Softimage
Vector Paint vs. Raster Paint

Vector Paint vs. Raster Paint


Softimage’s paint tools allow for both vector- and raster-based Mask Shapes
painting. Each has its advantage, as well as its own operator to use in
The Mask Shapes operator is an alpha-only
the Fx Tree.
version of the Vector Paint operator. You can use
the vector paint tools in a Mask Shapes to paint a
Vector Paint matte that you can use in any other Fx operator.
Vector painting is a non-destructive, shape-based
process where every brush stroke is editable even Raster Paint
after you’ve painted it. Rather than painting
Raster painting is the process of painting directly
directly on an image, you paint on a vector
on an image. It is destructive, meaning that each
shapes layer that is composited over an input image or other operator.
time you paint a stroke, you’re directly altering
In the Fx Tree, you add a vector shapes layer overtop of an image by the image’s pixels. Once you’ve painted on the
connecting the image’s operator to Vector Paint operator’s input. You image, the stroke or shape cannot be moved or altered (unless, of
can then paint on the vector shapes layer in the Fx viewer. course, you paint a new stroke over it).
A Vector Paint operator has a small paint brush/shape icon in its In the Fx Tree, you can paint on images or sequences (but not a movie
upper-left corner. This differentiates it from non-paint operators, file —.avi, Quicktime, and so on) loaded in a Paint Clip operator,
which you cannot paint on, and from raster paint operators, which use which is available from the Ops menu. You can also insert a blank paint
a different icon. clip and configure it later. A Paint Clip operator has a small paint brush
icon in its upper-left corner.
One convenience of painting in vector paint operators is that you don’t
have to manage changes to each frame the way you do with raster paint When you paint on a sequence, you can manage changes to frames
clips. Every shape in a vector paint operator is stored as part of the using the tools on the Modified Frames tab of an Paint Clip’s property
operator’s data, and is animatable. This allows you to paint shapes and editor. You can revert painted frames back to their last saved state, and
strokes that stay in the image for as many frames as you need. save changes when you’re ready to commit them.
Vector paint operators are blank by default and do not have source
images. Instead, they are more like other Fx operators in that they have
both an input and an output and use other operators’ outputs as their Where you manage painted
sources. However, there’s nothing preventing you from keeping them frames.
blank and painting their contents from scratch. Save changes to frames.

Revert frames to their original


state.

Lists every unsaved frame that


you’ve changed.

Basics • 389
Section 22 • Compositing and 2D Paint

Painting Strokes and Shapes


At its most basic, painting on an image is a simple matter of inserting a The following a general overview of the paint process, intended to give
paint operator in the FxTree, choosing a paint color, brush and tool, you an idea of workflow, as well as a sense of where to set the options
and using the mouse pointer to paint in the Fx viewer. necessary for defining strokes and shapes.

1 2 Set the active paint brush from the Fx Paint


Brush List. The active paint brush is used by any
paint tool that can paint a stroke (the paint brush
tool, the line tool, the shape tools, and so on).

If necessary, edit the brush properties.


To open the brush property editor,
Add a paint operator to the Fx Tree position the mouse pointer in the Fx
workspace and edit its properties. Select a brush Viewer and press 2.
This activates the Fx Viewer’s paint from the list.
menu, giving you access to paint
tools and options.

Choose a
3 Choose a paint tool from
brush category
the Fx Viewer’s Draw menu.
from the
brush-type list.

4 Choose the foreground and (if needed) the


background color from the Fx Color Selector.

If necessary, edit the tool


properties. To open the tool
property editor, position the
mouse pointer in the Fx The five most recently used colors are
Viewer and press 3. stored in the selector for easy access.

390 • Softimage
Painting Strokes and Shapes

5 Paint on the operator in the Fx Viewer.

The Flood Fill tool (not shown) fills pixels that


you click, and neighboring pixels of similar
color, with the specified foreground color.

The Draw Rectangle and Draw Ellipse


tools are unique in that they are the only
The Brush tool is the most shape tools that work in both raster paint
basic tool for painting clips and vector paint operators (all other
brush strokes. You use it to shape tools are vector-paint only). In either
paint on images as if you mode, the shapes are drawn using the
were using a real paint current colors and paint brush settings.
brush, or one of the
myriad tools simulated by
The Mark Out Shape tool allows you to
the brush presets in the Fx
create an editable vector shape by clicking to
paint brush list. Painting is
define the locations of the shape's points. As
a simple matter of clicking
you add points, each new point is connected
and dragging on a paint
to the previous point by a line segment. The
operator’s image.
line segment’s curve, or lack thereof, depends
on the type of shape you’re drawing: Bézier,
B-Spline, or Polyline.
The Mark Out Shapes tool is only available in
vector paint operators.

The Line tool, as you might imagine, The Freehand Shape tool allows you to
allows you to draw straight lines. This draw editable vector shapes as if you were
is especially useful for painting wires using a pen and paper. You need only drag 6 If you are using vector paint operators, you can edit any
out of an image or sequence. the paint cursor around the outline of the vector shapes that you’ve painted. The two images
shape that you wish to draw. below show the manipulators used to transform a
In vector paint operators, drawing a vector shape and to edit a vector shape’s points.
line creates a two-point color shape The Freehand Shape tool is only available in
drawn using the outline (stroke) only vector paint operators.

Basics • 391
Section 22 • Compositing and 2D Paint

Merging and Cloning


Merging and cloning are both ways of painting using an image’s pixels Cloning
as the paint color. In the Brushes category of the Fx paint brush list,
you’ll find the Merge brush and the Clone brush, which you can use to Cloning is the process of painting pixels from one region of an image to
paint strokes and lines, or draw shapes that use a source image as the a different region of the same image. This can be useful for duplicating
paint color. elements in an image, as in the example below. It is also often used to
paint out unwanted elements. For example, you can remove wires from
a clear sky by painting over them with adjacent pixels.
Merging
Merging is the process of painting pixels from a source image — called Before
the merge source — onto the corresponding portion, or a different
portion, of a destination image. This is useful for painting unwanted In this example, the
elements, like wires, out of images. It is also useful for painting new trumpet player and his
elements into images, like the clouds in the example below. shadow are cloned into
the left side of the frame.

Destination Offset Source

After
Merge Source

In this example, the image of the clouds is set as the


merge source and is being painted into the image of
the field, as shown below. Clone Original

When you paint using the Clone brush, you’ll only see a result if you
You can set any operator in the Fx Tree as the Merge Source icon use a brush offset. The offset is the distance between the area from
merge source by right-clicking it and choosing
which you’re painting and the area to which you’re painting. You can
Set as Paint Merge Source from the menu. This
offset the brush in any direction and use any offset distance, as long as
adds a small paint-bucket icon to the operator
both the source and destination cursors can be placed somewhere on
to help you identify it as the merge source.
the target image simultaneously.

392 • Softimage
Section 23

Customizing Softimage
You can extend Softimage in a variety of ways by
customizing it. Many customizations are too
involved to cover here, but you can get more details
in the Softimage User’s Guide and Softimage SDK
Guide.

What you’ll find in this section ...


• Plug-ins and Add-ons
• Toolbars and Shelves
• Custom and Proxy Parameters
• Displaying Custom and Proxy Parameters in
3D Views
• Scripts
• Key Maps
• Other Customizations

Basics • 393
Section 23 • Customizing Softimage

Plug-ins and Add-ons


You can extend the functionality of Softimage using plug-ins and add- Installing Add-on Packages
ons:
The easiest way to install (and uninstall) a packaged add-on is to use
• A plug-in is a customization, for example, a command or operator, the Plug-in Manager.
implemented in a single file (possibly with a separate help file).
To install an .xsiaddon
• An add-on is a set of related customization files stored together in
an Add-on directory. It may consist of a toolbar and its associated 1. In the Plug-in Tree, right-click User Root or the first workgroup in
commands, operators, properties, and so on. Add-ons can be the tree and choose Install .xsiaddon.
packaged into a single .xsiaddon file to distribute to others. If you want to install the add-on in a different workgroup, go to the
Plug-ins and add-ons can be managed using the Plug-in Manager. Workgroup tab and move that workgroup to the top of the list. You
can install add-ons only in the first workgroup.
Plug-in Manager 2. In the Select Add-on File dialog box, locate the .xsiaddon file you
The Plug-in Manager is the central location for managing your want to install, and click OK.
customizations. You can display the Plug-in Manager using File >
Plug-in Manager or in the Tool Development Environment (View > • You can also install an add-on by dragging an .xsiaddon
Layouts > Tool Development Environment). file to an Softimage viewport. This installs the add-on in
the User location or the first workgroup, depending on
the value in the DefaultDestination tag of the .xsiaddon.
• The SDK Guides contain additional information about
other methods of installing add-ons.
To uninstall an .xsiaddon
• In the Plug-in Tree, right-click an add-on and choose Uninstall
Add-on.

Installing a simple plug-in is as easy as copying the script or library file


to the Plugins directory of your user or workgroup location.

394 • Softimage
Toolbars and Shelves

Toolbars and Shelves


Softimage lets you create and edit your own custom toolbars and • The Custom tab of the main shelf (View > Optional Panels > Main
shelves. This gives you convenient access to commands, presets, and Shelf).
other files.
To create a new toolbar, choose View > New Custom Toolbar.
• Toolbars contain buttons for running commands or applying
• To add presets to the toolbar, drag them from a file browser.
presets.
• To add commands and tools, choose View > Customize Toolbar,
• Shelves are floating windows that contain tabs. Each tab can be a
select a command category, and drag items onto the toolbar. Use
toolbar, display the contents of a file directory, or hold other items.
the Toolbar Widgets category to organize your toolbar.
Toolbars and shelves can be floating windows, or embedded in a view
• To add a script, drag lines from the script editor or a script file from
or layout. They are stored as XML-based files with the .xsitb extension
a browser and choose Script Button.
in the Application\toolbars subdirectory of the user, workgroup, or
factory path. • To remove an item from a custom toolbar, right-click on a toolbar
button and choose Remove Button.
At startup, Softimage gathers the files it finds in these locations and
adds them to the View > Toolbars menu. Toolbars and shelves that are To save the toolbar, right-click on an empty area of the toolbar and
found in your user location are marked with u in the View menu, and choose Save or Save As.
those that are found in a workgroup location are marked with w.
You can remove toolbars and shelves stored in the user location. Shelves
Choose View > Manage, check any items you want to remove, and click To create a custom shelf, choose View >
Delete. The items are not physically deleted but they are marked for New Custom Shelf. To add a tab, right-
removal. When you exit Softimage, the file extensions are changed to click on an empty part of the tab area
.bak so they won’t be detected and loaded when you restart. and choose an item from the Add Tab
menu. If no tabs have been defined yet,
Custom Toolbars you can right-click anywhere in the
shelf.
You can create your own toolbar and use it to hold
commonly-used tools and presets. Tools and presets • Folder tabs display files in a specific directory. You can drag files
are represented as buttons on the toolbar. like presets from a folder tab onto objects and views in Softimage.
Softimage also includes a couple of blank toolbars • Toolbar tabs hold buttons for commands and presets.
that are ready for you to customize by adding your
own scripts, commands, and presets: • Driven tabs can be filled with scene elements such as clips by using
the object model of the SDK.
• The lower area of the palette and script toolbar.
To save a custom shelf, Click the Options icon and choose Save or Save
As.

Basics • 395
Section 23 • Customizing Softimage

Custom and Proxy Parameters


Custom parameters are parameters that you create for your own Next, create a new parameters using Create > Parameter > New
purpose. Proxy parameters are linked copies of other parameters that Custom Parameter. If your object has only one custom parameter set,
you can add to your own custom parameter sets. Both custom the custom parameters are placed in it. If there are multiple sets, you
parameters and proxy parameters are contained in custom properties, should select the desired one beforehand. If there aren’t any custom
also known as custom parameter sets. parameter sets on the selected object, one is created using a default
name.
Custom Parameters At this point, the custom parameter set exists only in the scene in
Custom parameters are parameters that you create for any specific which it was created. It is not installed at the application level. You can
animation purpose you want. You typically create a custom parameter copy it to other objects in the same scene, or save a preset to apply it to
and then connect it to other parameters using expressions or linked objects in other scenes.
parameters. You can then use the sliders in the custom parameter set’s If you want, you can convert the custom parameter set into a self-
property editor to drive the connected parameters in your scene. installing custom property by right-clicking in the light gray header bar
of the property editor and choosing Migrate to Self-installed. This lets
you distribute the property as a script plug-in. You can also edit the
script file to control the layout and logic of the property.

Proxy Parameters
Proxy parameters are similar to custom parameters, but with a
fundamental difference. Custom parameters can drive target
parameters, but they are still separate and different parameters. This
means that when you set keyframes, you key the custom parameter and
not the driven parameter. So what do you do when you want to drive
the actual parameter, or create a single parameter set that holds only
those existing parameters you are interested in? You can use
For example, you can use a set of sliders in a property editor to drive the proxy parameters.
pose of a character instead of creating a virtual control panel using 3D Unlike custom parameters, proxy parameters are cloned parameters:
objects. they reflect the data of another parameter in the scene. Any operation
First, create a custom parameter set by selecting an element and using done on a proxy parameter has the same result as if it had been done on
Create > Parameter > New Custom Parameter Set on the Animate the real parameter itself (change a value, save a key, etc.).
toolbar, and then giving it a meaningful name. While you can create proxy parameters for any purpose, it’s most likely
that you will use them to create custom property pages. You can create
your own property pages for just about anything you like: for example,
locate all animatable parameters for an object on a single property

396 • Softimage
Custom and Proxy Parameters

page, making it much quicker and easier to add keys because all the Select one or more objects with a DisplayInfo custom parameter set. If
animated parameters are in one place. Or as a technical director, you nothing is selected, the DisplayInfo set of the scene root is displayed (if
can expose only the necessary parameters for your animation team to it has one).
use, thereby streamlining their workflow and reducing potential errors.
First, create a custom parameter set, then open an explorer and drag
and drop parameters into the custom property editor or onto the custom
parameter set node in an explorer. Alternatively, use Create >
Parameter > New Proxy Parameter to specify parameters with a
picking session.

Displaying Custom and Proxy Parameters in 3D Changing Parameter Values in a 3D View


Views
You can easily modify the parameters displayed in the 3D views. There
You can display and edit parameter values directly in a 3D view. This is is a preference that controls the interaction:
sometimes called a heads-up display or HUD.
• If Enable On-screen Editing of “DisplayInfo” Parameters is on in
You do this by creating a custom parameter set whose name starts with your Display preferences, you can modify the values as well as
the text DisplayInfo. You can simply display information, for example, animate them directly in the display.
about your company or a particular scene shot, or you can mark
parameters and change their values. • If on-screen editing is disabled, you can still mark the parameters
and modify them using the virtual slider.
Viewing the Information in a 3D View
If on-screen editing is enabled, the parameters appear in a transparent
To view the DisplayInfo information in a 3D View, click the eye icon in box in the view. The title of the parameter set is shown at the top
a 3D view and choose Visibility Options. On the Stats page in the (without the “DisplayInfo_” prefix). Each parameter has animation
Camera Visibility property editor, select Show Custom “DisplayInfo” controls that allow you to set keys.
Parameters.

Basics • 397
Section 23 • Customizing Softimage

• Double-click on a numeric value to edit it using the keyboard. The


current value is highlighted, so you can type in a new value. Only the
parameter you click on is affected even if multiple parameters are
marked.
• Double-click on a Boolean value to toggle it. Only the parameter
you click on is affected even if multiple parameters are marked.
• Click on an animation icon to set or remove a key for the
corresponding parameter.
• Right-click on an animation icon to open the animation context
menu for the corresponding parameter.
• Click the triangle in the top right corner to expand or collapse the
parameter set.
The color of the animation icon indicates the following information:
You can do any of the following: • Gray: The parameter is not animated.
• Click and drag on a parameter name to modify the value. You don’t • Red: There is a key for the current value at the current frame.
need to explicitly activate the virtual slider tool.
• Yellow: The parameter is animated by an fcurve, and the current
- Drag to the left to decrease the value, and drag to the right to value has been modified but not keyed.
increase it.
• Green: The parameter is animated by an fcurve, and the current
- Press Ctrl for coarse control. value is the interpolated result between keys.
- Press Shift for fine control. • Blue: The parameter is animated by something other than an
- Press Ctrl+Shift for ultra-fine control. fcurve (expression, constraint, mixer, etc.).

- Press Alt to extend beyond the range of the parameter’s slider in If there is a DisplayInfo property on the scene root, you
its property editor (if the slider range is smaller than its total cannot edit its parameters on-screen unless the scene root is
range). selected.
If the parameter that you click on is not marked, it becomes marked.
If it is already marked, then all marked parameters are modified as
you drag.

398 • Softimage
Scripts

Scripts
Scripts are text files containing instructions for modifying data in
Softimage. They provide a powerful way to automate many tasks and
simplify your workflow.
Command box displays the most
recent command. Modify the
contents or type a new command,
then press Enter to execute it. Selects any of the last 25 commands.

Script editor icon opens


the script editor.

Run the lines selected in the editing pane. If


no lines are selected, the entire script is run.

Get help on the command selected in the editing pane.

History pane contains the most recently used commands in


your current session. Drag and drop lines into the editing
pane to get a head start on your own scripts.
The history pane also contains messages related to importing
and exporting, debugging information, and so on.

Editing pane is a text editor in which you can create scripts


by typing or pasting. Right-click for a context menu.

Basics • 399
Section 23 • Customizing Softimage

Key Maps
Key maps determine the keyboard Keyboard shortcuts are grouped by
combinations that are used to run interface component.
To see which command is mapped to a key,
commands, open windows, and activate Click an interface component in click the appropriate modifiers (Alt, Ctrl,
tools. You can create your own key the Group list to display its Click a command in the Shift) from the check boxes or the keyboard
maps to create new key bindings or commands and their keyboard Command list to display its diagram, then rest your mouse pointer over a
change the default ones. shortcuts in the Command list. keyboard shortcut in red. key on the keyboard diagram.

Key maps are stored as XML-based


.xsikm files in the
\Application\keymaps subdirectory of
the user, workgroup, or factory path. At
startup, Softimage gathers the files it
finds at these locations and makes them
available for selection in the Keyboard
Mapping editor.
When you change a key mapping, the
new key automatically appears next to
the command in menus and context
menus. For some menus, you must
restart Softimage to see the new label.
Open the keyboard mapping editor by
choosing File > Keyboard Mapping
from the main menu. Select an existing
Key Map, or click New to create a new
one.

Create or modify a shortcut by dragging Remove a shortcut key by


a command label to a shortcut key. selecting a command from the
Command box and pressing Clear.
Hold down the Shift, Ctrl, or Alt key while dragging
to add a modifier to the new shortcut command.

400 • Softimage
Other Customizations

The keyboard keys are color-coded to indicate the following: Other Customizations
• White: no keyboard shortcut has been assigned to this key. In addition to the customizations briefly mentioned so far, there are
• Beige: a keyboard shortcut from another interface component has many other ways you can extend Softimage:
been assigned to this key. • Custom commands can automate repetitive or difficult tasks.
• Light Brown: a keyboard shortcut from the currently selected Commands can be scripted or compiled.
interface component has been assigned to this key. • Custom operators can automatically update data in the operator
• Red: this keyboard shortcut corresponds to the currently selected stack. Operators can be scripted or compiled.
item in the Command box. • Layouts define the main window of Softimage. You can create
To see key conflicts with other windows, select View and choose a layouts based on your preferences or common tasks.
window from the adjacent list. Keys that are used by the selected • Views can be floating or embedded in a layout. You can create
window are highlighted in dark brown. For combinations involving views for specialized tasks.
modifiers, select the appropriate Ctrl, Shift, and Alt boxes or press and
hold those keys on your keyboard. • Events run automatically when certain situations occur in
Softimage.
• Synoptic views allow you to run scripts by clicking hotspots in an
image, for example, you can create custom control panels for a rig.
• Net View allows you to create an HTML interface for sharing
scripts, models, and other data.
• Shaders give you complete control over the final look of your work.
For more information about customizing Softimage, see the SDK
Guides, as well as Customization in the Softimage Guides.

Basics • 401
Section 23 • Customizing Softimage

402 • Softimage

You might also like