Professional Documents
Culture Documents
Basics
Copyright and Disclaimer
© 1999–2007 Avid Technology, Inc. All rights reserved. use of the UCB code in source and binary forms, with or without modification, are
Avid, Avid Mojo, dotXSI, Behavior, Elastic Reality, FACE ROBOT, meta–clay, Painterly permitted provided that the following conditions are met: [1.] Redistributions of the UCB
Effects, SOFTIMAGE, XSI, and the XSI logo are either registered trademarks or trademarks source code must retain the above copyright notice, this list of conditions and the
of Avid Technology, Inc. in the United States and/or other countries. mental ray and mental following disclaimer. [2.] Redistributions of UCB binary code must reproduce the above
images are registered trademarks of mental images GmbH in the U.S.A. and some other copyright notice, this list of conditions and the following disclaimer in the documentation
countries. mental ray Phenomenon, mental ray Phenomena, Phenomenon, Phenomena, and/or other materials provided with the distribution. [3.] All advertising materials
Software Protection Manager, and SPM are trademarks or, in some countries, registered mentioning features or use of this UCB code must display the following
trademarks of mental images GmbH. Alienbrain, the Alienbrain logo and NXN are acknowledgement: This product includes software developed by the University of
trademarks of NXN Software AG. Syflex is a trademark of Syflex LLC. AGEIA and physX California, Berkeley and its contributors.
are trademarks of AGEIA Technologies, Inc. Activision is a registered trademark of [4.] Neither the name of the University of California, Berkeley, nor the names of its
Activision, Inc. © 1998 Activision, Inc. Battlezone is a trademark of and © 1998 Atari contributors may be used to endorse or promote products derived from this software
Interactive, Inc., a Hasbro company. All rights reserved. Licensed by Activision. without specific prior written permission.
Digimation and Digimation Model Bank are either registered trademarks or trademarks THE UCB CODE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
of Digimation, Inc. in the United States and/or other countries. Copyright © 2005 by AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
Paramount Pictures Corporation and Viacom International Inc. All Rights Reserved. TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
Nickelodeon, Barnyard and all related titles, logos and characters are trademarks of PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS
Viacom International Inc. All other trademarks contained herein are the property of their OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
respective owners. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
SOFTIMAGE|XSI uses JScript and Visual Basic Scripting Edition from Microsoft LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
Corporation. USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
SOFTIMAGE|XSI includes Zbump shader © 2006–2007 Ben Rogall. All rights reserved. AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
SOFTIMAGE|XSI includes Open Dynamics Engine ("ODE") software copyright (c) 2001- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2003, Russell L. Smith. All rights reserved. Redistribution and use in source and binary POSSIBILITY OF SUCH DAMAGE.
forms of ODE, with or without modification, are permitted provided that the following
conditions are met: [1.] Redistributions of ODE source code must retain the above SOFTIMAGE|XSI contains modified portions of grid control software © 1998–1999 Chris
copyright notice, this list of conditions and the following disclaimer. [2.] Redistributions Maunder.
of ODE binary code must reproduce the above copyright notice, this list of conditions and SOFTIMAGE|XSI includes the Python Release 2.3.2 software. The Python software is:
the following disclaimer in the documentation and/or other materials provided with the Copyright © 2001, 2002, 2003 Python Software Foundation. All rights reserved.
distribution. [3.] Neither the names of ODE's copyright owner nor the names of its Copyright © 2000 BeOpen.com. All rights reserved.
contributors may be used to endorse or promote products derived from this software Copyright © 1995-2000 Corporation for National Research Initiatives. All rights reserved.
without specific prior written permission. Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved.
THE ODE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND SOFTIMAGE|XSI uses the OpenEXR software © 2002, Industrial Light & Magic, a
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, division of Lucas Digital Ltd. LLC All rights reserved. Redistribution and use in source and
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF binary forms, with or without modification, are permitted provided that the following
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE conditions are met: [1] Redistributions of source code must retain the above copyright
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR notice, this list of conditions and the following disclaimer. [2] Redistributions in binary
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, form must reproduce the above copyright notice, this list of conditions and the following
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED disclaimer in the documentation and/or other materials provided with the distribution.
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, [3] Neither the name of Industrial Light & Magic nor the names of its contributors may be
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY used to endorse or promote products derived from this software without specific prior
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT written permission.
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
DAMAGE. INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
SOFTIMAGE|XSI includes software developed by the University of California, Berkeley MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
and its contributors. Copyright (c) 1989, 1993, 1994 The Regents of the University of DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
California. All rights reserved. This University of California, Berkeley ("UCB") code is CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
derived from software contributed to Berkeley by Guido van Rossum. Redistribution and EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
Basics • 3
Copyright and Disclaimer
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, user accepts full responsibility for any undesirable consequences; the authors accept NO
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY LIABILITY for damages of any kind.
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTIMAGE|XSI Mod Tool includes software developed by the OpenSSL Project for use
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE in the OpenSSL Toolkit (http://www.openssl.org/). The OpenSSL toolkit is: Copyright (c)
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 1998-2003 The OpenSSL Project. All rights reserved.
DAMAGE.
Redistribution and use in source and binary forms, with or without modification, are
SOFTIMAGE|XSI includes the libtiff library. The libtiff software is: permitted provided that the following conditions are met: [1.] Redistributions of source
Copyright (c) 1988-1997 Sam Leffler code must retain the above copyright notice, this list of conditions and the following
Copyright (c) 1991-1997 Silicon Graphics, Inc. disclaimer. [2.] Redistributions in binary form must reproduce the above copyright
Permission to use, copy, modify, distribute, and sell this software and its documentation notice, this list of conditions and the following disclaimer in the documentation and/or
for any purpose is hereby granted without fee, provided that (i) the above copyright other materials provided with the distribution. [3.] All advertising materials mentioning
notices and this permission notice appear in all copies of the software and related features or use of this software must display the following acknowledgment: "This product
documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit.
any advertising or publicity relating to the software without the specific, prior written (http://www.openssl.org/)" [4.] The names "OpenSSL Toolkit" and "OpenSSL Project"
permission of Sam Leffler and Silicon Graphics. must not be used to endorse or promote products derived from this software without
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, prior written permission. For written permission, please contact openssl-
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY core@openssl.org. [5.] Products derived from this software may not be called "OpenSSL"
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. nor may "OpenSSL" appear in their names without prior written permission of the
OpenSSL Project. [6.] Redistributions of any form whatsoever must retain the following
IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY acknowledgment: "This product includes software developed by the OpenSSL Project for
SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY use in the OpenSSL Toolkit (http://www.openssl.org/)".
KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE,
AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION THIS SOFTWARE IS PROVIDED BY THE OPENSSL PROJECT ``AS IS'' AND ANY
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
SOFTIMAGE|XSI includes the libpng-1.2.5 library. The libpng software is: Copyright (c) IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
2000-2002 Glenn Randers-Pehrson, and is distributed according to the same disclaimer PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENSSL
and license as libpng-1.0.6 with the following individuals added to the list of Contributing PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
Authors: Simon-Pierre Cadieux, Eric S. Raymond, and Gilles Vollant. INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
There is no warranty against interference with your enjoyment of the library or against OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
infringement. There is no warranty that our efforts or the library will fulfill any of your HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
particular purposes or needs. This library is provided with all faults, and the entire risk of CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
satisfactory quality, performance, accuracy, and effort is with the user. OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
THE PNG REFERENCE LIBRARY IS SUPPLIED "AS IS". THE CONTRIBUTING AUTHORS AND IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
GROUP 42, INC. DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).
LIMITATION, THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. This product includes software written by Tim Hudson (tjh@cryptsoft.com).
THE CONTRIBUTING AUTHORS AND GROUP 42, INC. ASSUME NO LIABILITY FOR DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES, WHICH MAY The SSLeay library is: Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All
RESULT FROM THE USE OF THE PNG REFERENCE LIBRARY, EVEN IF ADVISED OF THE rights reserved.
POSSIBILITY OF SUCH DAMAGE. This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The
SOFTIMAGE|XSI includes the libjpeg library. This software is based in part on the work implementation was written so as to conform with Netscapes SSL.
of the Independent JPEG Group. The libjpeg library is: Copyright 1991-1998, Thomas G. This library is free for commercial and non-commercial use as long as the following
Lane. All Rights reserved. conditions are aheared to. The following conditions apply to all code found in this
Permission is hereby granted to use, copy, modify, and distribute this software (or distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL
portions thereof) for any purpose, without fee, subject to these conditions: [1] If any part documentation included with this distribution is covered by the same copyright terms
of the source code for this software is distributed, then this README file must be except that the holder is Tim Hudson (tjh@cryptsoft.com).
included, with this copyright and no-warranty notice unaltered; and any additions, Copyright remains Eric Young's, and as such any Copyright notices in the code are not to
deletions, or changes to the original files must be clearly indicated in accompanying be removed. If this package is used in a product, Eric Young should be given attribution as
documentation. [2] If only executable code is distributed, then the accompanying the author of the parts of the library used. This can be in the form of a textual message at
documentation must state that "this software is based in part on the work of the program startup or in documentation (online or textual) provided with the package.
Independent JPEG Group". [3] Permission for use of this software is granted only if the Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met: [1.] Redistributions of source
4 • SOFTIMAGE|XSI
code must retain the copyright notice, this list of conditions and the following disclaimer. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
[2.] Redistributions in binary form must reproduce the above copyright notice, this list of ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
conditions and the following disclaimer in the documentation and/or other materials POSSIBILITY OF SUCH DAMAGE.
provided with the distribution. [3.] All advertising materials mentioning features or use of This software consists of voluntary contributions made by many individuals on behalf of
this software must display the following acknowledgement: "This product includes the Apache Software Foundation and was originally based on software copyright (c) 1999,
cryptographic software written by Eric Young (eay@cryptsoft.com)". The word International Business Machines, Inc., http://www.ibm.com. For more information on
'cryptographic' can be left out if the routines from the library being used are not the Apache Software Foundation, please see http://www.apache.org/.
cryptographic related. [4.] If you include any Windows specific code (or a derivative
thereof) from the apps directory (application code) you must include an This document is protected under copyright law. An authorized licensee of
acknowledgement: "This product includes software written by Tim Hudson SOFTIMAGE|XSI may reproduce this publication for the licensee’s own use in learning
(tjh@cryptsoft.com)" how to use the software. This document may not be reproduced or distributed, in whole
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR or in part, for commercial purposes, such as selling copies of this document or providing
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED support or educational services to others. This document is supplied as a guide for
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR SOFTIMAGE|XSI. Reasonable care has been taken in preparing the information it
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR contains. However, this document may contain omissions, technical inaccuracies, or
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, typographical errors. Avid Technology, Inc. does not accept responsibility of any kind for
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, customers’ losses due to the use of this document. Product specifications are subject to
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY change without notice.
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT Documentation Team
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE Judy Bayne, Grahame Fuller, Amy Green, Edna Kruger, and Naomi Yamamoto.
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
The licence and distribution terms for any publically available version or derivative of this Print-On-Demand By LuLu.com
code cannot be changed. i.e. this code cannot simply be copied and put under another
distribution licence [including the GNU Public Licence.] Part No. 0130-07196-02 . 03 2007
SOFTIMAGE|XSI includes software developed by the Apache Software Foundation (http:/
/www.apache.org/). The Xerces software is: Copyright (c) 1999-2003 The Apache Software
Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met: [1.] Redistributions of source
code must retain the above copyright notice, this list of conditions and the following
disclaimer. [2.] Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution. [3.] The end-user documentation included
with the redistribution, if any, must include the following acknowledgment: "This product
includes software developed by the Apache Software Foundation (http://www.apache.org/
)." Alternately, this acknowledgment may appear in the software itself, if and wherever
such third-party acknowledgments normally appear. [4.] The names "Xerces" and
"Apache Software Foundation" must not be used to endorse or promote products derived
from this software without prior written permission. For written permission, please
contact apache@apache.org. [5.] Products derived from this software may not be called
"Apache", nor may "Apache" appear in their name, without prior written permission of
the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
Basics • 5
Copyright and Disclaimer
6 • SOFTIMAGE|XSI
Contents
Basics • 7
Contents
8 • SOFTIMAGE|XSI
Section 13 Editing UV Coordinates in the Texture Editor . . . . . . . . . . . . . . . . 265
Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Texture Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Dynamics and Particle Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Bump Maps and Displacement Maps. . . . . . . . . . . . . . . . . . . . . . 268
Making Things Move with Forces . . . . . . . . . . . . . . . . . . . . . . . . 208 Reflection Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Particles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Baking Textures with RenderMap . . . . . . . . . . . . . . . . . . . . . . . . 271
Hair and Fur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Painting Color at Vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Rigid Body Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Cloth Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Section 17
Soft Body Dynamics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Types of Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Section 14 Placing Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Setting Light Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
The Shader Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Selective Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Connecting Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Creating Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
The Render Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Global Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Building Shader Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Caustics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Editing Shader Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Final Gathering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Light Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Section 15 Image-Based Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Materials and Surface Shaders . . . . . . . . . . . . . . . . . . . . . 241
About Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Section 18
Material Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Creating and Assigning Materials . . . . . . . . . . . . . . . . . . . . . . . . 244 Types of Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
The Material Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 The Camera Rig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Surface Shaders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Working with Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Basic Surface Color Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Setting Camera Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Reflectivity, Transparency, and Refraction . . . . . . . . . . . . . . . . . . 250 Lens Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Motion Blur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Section 16
Texturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Section 19
How Surface and Texture Shaders Work Together . . . . . . . . . . . . 254 Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Types of Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Rendering Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Applying Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Render Passes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Texture Projections and Supports. . . . . . . . . . . . . . . . . . . . . . . . . 257 Setting Render Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Editing Texture Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Selecting a Rendering Method. . . . . . . . . . . . . . . . . . . . . . . . . . . 303
UV Coordinates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Different Ways to Render . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Basics • 9
Contents
Section 20
Compositing and 2D Paint . . . . . . . . . . . . . . . . . . . . . . . . . . 307
XSI Illusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Adding Images and Render Passes . . . . . . . . . . . . . . . . . . . . . . . . 309
Adding and Connecting Operators . . . . . . . . . . . . . . . . . . . . . . . . 310
Editing and Previewing Operators . . . . . . . . . . . . . . . . . . . . . . . . . 312
Rendering Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
2D Paint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Vector Paint vs. Raster Paint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Painting Strokes and Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Merging and Cloning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Section 21
Customizing XSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Plug-ins and Add-ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Toolbars and Shelves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Custom and Proxy Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Key Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Other Customizations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
10 • SOFTIMAGE|XSI
Welcome to SOFTIMAGE®|XSI®
SOFTIMAGE|XSI is the next-generation 3D system that integrates Modeling
modeling, animation, simulation, compositing, and rendering into a
The modeling tools are designed for creating and editing seamless
single, seamless environment. XSI incorporates many standard 3D
animated models of any sort. XSI offers many tools for creating,
tools and functions, but goes far beyond that in terms of tool
editing, and deforming polygons and subdivision surfaces, as well as
sophistication and artistic control.
NURBS curves and surfaces.
Animation
XSI 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 any
other type of animation.
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.
Basics • 11
Welcome to SOFTIMAGE®|XSI®
12 • SOFTIMAGE|XSI
Section 1
Introducing XSI
New to XSI? Take a quick guided tour through the
interface and basic operations.
Basics • 13
Section 1 • Introducing XSI
Title bar Viewports let you view the contents of your scene in different ways. You can choose other ready-
Displays the version of XSI, your license type, There are also other tools and editors available from the View menu made layouts from the View >
and the name of the open project and scene. that are displayed in floating windows that you can move around. Layouts menu, or create your
own layout for a customized
workflow.
Main menu bar
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.
14 • SOFTIMAGE|XSI
Getting Commands and Tools
Basics • 15
Section 1 • Introducing XSI
Switching between the Main Toolbar and Other Switching between the MCP, KP/L, and MAT Panels
Tools
The three tabs at the bottom of the panel on the
The three buttons at the lower left switch between the main toolbar, the right side of the interface switch between the
weight paint panel, and the palette: MCP, KP/L, and MAT panels:
• MCP is the main command panel. It is
Main toolbar Palette divided into sub-panels with controls for
selection, transformation, constraints,
snapping, and editing.
Weight paint panel
• KP/L contains the keying panel as well as controls for working with
• The main toolbar is where you’ll do most of your work. animation and scene layers. See Keying Parameters in the Keying
• The weight paint panel contains a specialized layout for editing Panel on page 141, Layering Animation on page 149, and Scene
envelope weights. See The Weight Paint Panel on page 169. Layers on page 49.
• The palette contains some wire color and display type presets, as • MAT is the material panel. It provides similar controls to the
well as a custom toolbar where you can store custom commands. texture layer editor, but in a different arrangement. See Texture
Layers on page 266.
Switching Toolbars
Collapsing MCP Panels
The main toolbar on the left side of the interface
can display categories for modeling, animation, You can collapse panels in the MCP by right-
rendering, simulation, and hair. You can switch clicking on their main menu buttons. To expand
between these categories by clicking on the a collapsed panel, simply right-click on it again.
toolbar’s title as shown at right, or by pressing 1, This is useful when working on small monitors,
2, 3, 4, or Ctrl+2 (use the number keys at the top like on laptops.
of the keyboard, not on the numeric keypad).
If you prefer, you can also access the same
commands from the main menu bar:
16 • SOFTIMAGE|XSI
Getting Commands and Tools
Basics • 17
Section 1 • Introducing XSI
18 • SOFTIMAGE|XSI
Working with Views
Color Editors There are four viewports in the view manager at the center of the
default XSI layout. Each viewport is identified by a letter. When you
Instead of using the RGB color sliders, you can click on a color box to start XSI, viewport A (top left) shows the Top orthographic view,
open a color editor. viewport B (top right) shows the Camera perspective view, viewport C
(bottom left) shows the Front orthographic view, and viewport D
(bottom right) shows the Right orthographic view.
Slider bar
Color spectrum
Switching Views in the Viewports
You can change the view displayed by a viewport using the menu on
the left of its title bar.
Changes color Select a view to display in a viewport
Current color box model. from the Views menu. Middle-click to
Color preview box display the previous view.
Opens the full
color editor.
Color picker selects a
color from anywhere
within XSI’s window.
Basics • 19
Section 1 • Introducing XSI
The 3D views show the geometry of your scene and include: Use the Resize icon at the right of a viewport’s
toolbar to maximize, expand, and restore:
• Any cameras that are present in your scene.
•Left-click to maximize a viewport, or restore a
• The orthographic Top, Front, and Right views.
maximized viewport. Alternatively, press F12
• The User view, which is not a real camera but an extra perspective while the pointer is over the viewport.
view that you can navigate in without modifying your main camera
•Middle-click to expand or restore
setup.
horizontally.
• Any spotlights that are present in your scene.
• Ctrl+middle-click to expand or restore vertically.
• The Object view, which shows the selected object in isolation.
• Right-click on the Resize icon to open a menu as shown.
See Working in 3D Views on page 22.
Viewport Presets
The other views include alternative representations of your scene data
such as the explorer or the schematic views (see Exploring Your Scene Instead of switching views and resizing viewports
on page 31), as well as tools for specialized tasks. manually, you can use the buttons at the lower left to
display various preset combinations.
Resizing Viewports
Muting and Soloing Viewports
Viewports can be resized, maximized, or expanded vertically and
horizontally. The letter identifier in the upper-left corner of the title bar allows you
to mute and solo viewports:
• Middle-click the letter to mute the viewport. A muted
viewport does not update until you un-mute it. You can do
this to increase playback performance in the other
Drag the horizontal viewports. The letter of a muted viewport is displayed in orange.
and vertical splitter Middle-click the letter again to un-mute the viewport.
bars (or their
intersection) to • Click the letter to solo the viewport. Soloing a viewport
resize the mutes all the others. The letter of a soloed viewport is
viewports.
displayed in green. Middle-click the letter again to un-solo
Middle-click the the viewport.
bars to reset them.
20 • SOFTIMAGE|XSI
Working with Views
Basics • 21
Section 1 • Introducing XSI
Working in 3D Views
3D views are where you view, edit, and manipulate the geometric elements
of your scene.
Eye icon menu Includes commands for specifying whether or not
scene elements and their components are visible in the viewports.
Camera icon menu Includes commands for XYZ Buttons Switches the viewport view to top/bottom/front/
navigating and framing elements in the scene. back/left/right.
Memo cams Memorize up to four Display Type menu Specifies how visible items in
camera settings for quick access later. the viewports are displayed.
Floor Grid
Indicates the scene origin and
Axes the relative size of objects.
Show the global X, Y, and Z
directions.
22 • SOFTIMAGE|XSI
Working in 3D Views
Types of 3D Views The Top, Front, and Right views are orthographic, which orients the
camera so it 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 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.
Basics • 23
Section 1 • Introducing XSI
24 • SOFTIMAGE|XSI
Working in 3D Views
Tool or Tool or
Key Description Key Description
Command Command
Pan/Zoom z Moves the camera laterally, or changes the field Roll l (L) Rotates a perspective view along its Z axis. Use
of view: the different mouse buttons to roll at different
• Pan (track) with the left mouse button. speeds.
• Zoom in with the middle mouse button. Frame f Frames the selected elements in the view under
• Zoom out with the right mouse button. the mouse pointer.
In your Tools > Camera preferences, you can
Frame Shift+f Frames the selected elements in all open views.
activate Zoom On Cursor to center the zoom
(All Views)
wherever the mouse pointer is located.
Frame All a Frames the entire scene in the view under the
Rectangular Shift+z Zooms onto a specific area: mouse pointer.
Zoom • Draw a diagonal with the left mouse button to
fit the corresponding rectangle in the view. Frame All Shift+a Frames the entire scene in all open views.
• Draw a diagonal with the right mouse button (All Views)
to fit the current view in the corresponding
Center Alt+c Centers the selected elements in the view under
rectangle.
the mouse pointer. Centering is similar to
In perspective (non-orthographic) views, framing, but without any zooming or dollying.
rectangular zoom activates pixel zoom The camera is tracked horizontally and vertically
mode , which offsets and enlarges the view so that the selected elements are at the center
without changing the camera’s pose or field of of the viewport.
view.
Center Shift+ Centers the selected elements in all open views.
Orbit o Rotates a camera, spotlight, or user viewpoint (All Views) Alt+c
around its point of interest. This is sometimes
Reset r Resets the view under the mouse pointer to its
called tumbling or arc rotation.
default viewpoint.
• Use the left mouse button to orbit freely.
• Use the middle mouse button to orbit
horizontally.
In addition to the above, there are other tools available on the camera
icon menu, such as pivot, walk, fly, and so on.
• Use the right mouse button to orbit vertically.
In your Tools > Camera preferences, you can set Undoing Camera Navigation
Orbit Around Selection.
As you navigate in a 3D view, you may want to undo one or more
Dolly p Moves the camera forward and back. Use the
different mouse buttons to dolly at different
camera moves. Luckily, there is a separate camera undo stack that lets
speeds. In orthographic views, dollying is you undo navigation in 3D views.
equivalent to zooming.
To undo a camera move, press Alt+z. To redo an undone camera move,
press Alt+y.
Basics • 25
Section 1 • Introducing XSI
Display Types
You can display scene objects in different ways by choosing various
display modes from a 3D view’s Display Type menu.
Display Type menu
Shows the geometric object made up of its Applies a fade to visible objects, based on
edges, drawn as lines resembling a model their distance from the camera, in order to
made of wire. This image displays all edges convey depth. You can set the depth cue
or contour lines without removing invisible range to the scene, selection, or a custom
or hidden parts or filling surfaces. This is the start and end point. Objects within the
default display type in the viewport. range fade as they near the edge of the range,
while objects completely outside the range
are made invisible.
Reduces all scene objects to simple cubes. Shows only the edges of objects that are facing
This speeds up the redrawing of the scene the camera. Lines that are usually hidden
because fewer details are calculated in the from view by the surface in front of them are
screen refresh. not displayed because they are in a “see
through” wireframe.
26 • SOFTIMAGE|XSI
Working in 3D Views
Basics • 27
Section 1 • Introducing XSI
28 • SOFTIMAGE|XSI
Working in 3D Views
• On the other hand, rotoscoped images that are displayed in the Navigating with Images Attached to the Camera
orthographic views (Front, Top, and Right) have the Image
Normally when a rotoscoped image or sequence is attached to the
Placement option set to Fixed by default. This allows you to
camera, it is fully displayed in the background no matter how the
navigate the camera while modeling without losing the alignment
camera is zoomed, panned, or framed. However you can activate Pixel
between the image and the modeled geometry.
Zoom mode if you need to maintain the alignment between objects in
Fixed images are sometimes called image planes, and they can be the scene and the background, for example if you want to temporarily
displayed in all views, not just the one for which they were defined. zoom into a portion of the scene.
Basics • 29
Section 1 • Introducing XSI
30 • SOFTIMAGE|XSI
Exploring Your Scene
The Explorer Scope of elements Viewing and Filters for displaying Lock and Search by name,
to view. sorting options. element types, update. type, or keyword.
The explorer displays the contents of your scene in
a hierarchical structure called a tree. This tree can
show objects as well as their properties as a list of
nodes that expand from the top root. You
normally use the explorer as an adjunct while
working in XSI, for example, to find or select Expand and collapse tree.
Press Shift to expand or
elements.
collapse all from this point.
Keeping Track of Selected Elements Click icon to open
property editor.
If you have selected objects, their nodes are
highlighted in the explorer. If their nodes are not Click name to select. Use
visible, choose View > Find Next Selected Node. Shift to select ranges and
The explorer scrolls up or down to display the first Ctrl to toggle-select.
object node in the order of its selection. Each time Click twice to rename.
you choose this option, the explorer scrolls up or
Right-click for a
down to display the next selected node. After the context menu.
last selected item, the explorer goes back to the
first.
Choose View > Track Selection if you want to automatically scroll the Click the Scope button to select
explorer so that the node of the first selected object is always visible. the range of elements to view.
Basics • 31
Section 1 • Introducing XSI
The basic filters are available on the Filters menu (between the View Explorer filter buttons in the Select panel offer a shortcut by instantly
menu and the Lock button). The label on the menu button shows the displaying filtered information on specific aspects of currently selected
current filter. The filters that are available on the menu depend on the objects.
scope. For example, when the scope is Scene Root, the Filters menu Example: Click the Selection filter button...
offers several different preset combinations of filters, followed by
specific filters that you can toggle on or off individually.
Explorer filter
buttons
Object Explorers
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.
32 • SOFTIMAGE|XSI
Exploring Your Scene
Basics • 33
Section 1 • Introducing XSI
The Spreadsheet
The spreadsheet view displays scene Each row represents a scene element. Each column represents a parameter. Click a column
information about elements and their Click a row heading to select all of an heading to select a parameter on all of the displayed
element’s properties. Right-click the objects. Right-click a heading to quickly sort elements
parameters in a grid. This information
row to select objects in your scene. and mark parameters for animation.
is filtered and organized by queries that
you run to show specific aspects of your
scene in combination with sorting
operations you can perform based on
object data. You can then perform
operations on many elements or
parameters at once.
You can execute a query by using one of
the predefined queries found in the
spreadsheet’s Query menu, or you can
choose Query > Open to load a custom
query file.
Once you have executed a query and
the spreadsheet displays the data you
have requested, you can further
organize the information by sorting the
table. Right-click any column heading The intersection between a row and a column is called a
to sort the table entries based on the cell, each of which holds one value. You can select many
column’s entries. cells at once and modify them all simultaneously.
The spreadsheet display is not updated as the scene or the current You can edit spreadsheet cells, depending on the mouse button you
frame is modified in XSI. To update the spreadsheet to reflect current use:
scene information, click Execute. To update only currently listed
• Left-click edits a highlighted cell.
elements, click the Update button.
• Middle-click or right-click edits a cell without changing the value
Generally, editing one cell changes all highlighted cells of the same type
of other highlighted cells.
when you press Enter. That is, if you change a numeric cell, all
highlighted numeric cells are also changed; any non-numeric
highlighted cells remain unchanged. Cells with dark gray contents
cannot be edited.
34 • SOFTIMAGE|XSI
Sample Content
Sample Content
XSI ships with a sample database containing scenes, models, presets, Another place to find sample content is at XSI Net:
scripts, and other goodies. There is an HTML interface for this http://www.softimage.com/xsinet/
database that you can access by opening a Net View (Alt+5). You can
drag and drop content from Net View directly into your scene.
Display the home page as defined in Start > Settings > Control
Panel > Internet Options or in Internet Explorer options.
Refresh the current page.
Browse back and forth among Stop loading a page, running a script, or playing an animated image.
previously displayed pages.
Display the XSI Web start page as defined in your XSI preferences.
Browse to open a page or
display preferences. Display your list of favorites as defined in Internet Explorer.
Basics • 35
Section 1 • Introducing XSI
36 • SOFTIMAGE|XSI
Section 2
Elements of a Scene
This section provides a guide to the objects,
properties, and components you will find in XSI
scenes, and describes some of the workflows for
working with them.
Basics • 37
Section 2 • Elements of a Scene
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 You can typically name an element when you create it. You can rename
geometry types:
polygon mesh,
an object at any time by choosing Rename from a context menu or
curve, surface, and pressing F2 in the explorer.
lattice.
XSI 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; XSI automatically adds an underscore at the
beginning. If necessary, XSI adds a number to the end of names to keep
them unique within their namespace.
38 • SOFTIMAGE|XSI
Selecting Elements
Selecting Elements
Selecting is fundamental to any software program. In XSI, you select Overview of Selection
objects, components and other elements to modify and manipulate
them. 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
In XSI, you can select any object, component, property, group, cluster, middle mouse button for branches, and the right mouse button for trees
operator, pass, partition, source, clip, and so on; in short, just about and chains.
anything that can appear in the explorer. The only thing that you can’t
select are individual parameters—parameters are marked for To select components, first select one or more geometric objects, then
animation instead of selected. press a hotkey for a component selection mode (such as t for rectangle
point selection), and click on the components. Use the middle mouse
Select menu button for clusters.
Access a variety of selection tools
and commands. Select Panel For elements with no predefined hotkey, you can manually activate a
Select icon selection tool and a selection filter.
Activates the most recently used selection
tool and filter In all cases:
• Shift+click adds to the selection.
Group/Cluster button
Selects groups and clusters. • Ctrl+click toggle-selects.
Filter buttons
• Ctrl+Shift+click deselects.
Select objects or their components, such • Alt lets you select loops and ranges. You can use Alt in combination
as points, curves, etc.
with Shift, Ctrl, and Ctrl+Shift.
Object Selection and
Sub-object Selection text boxes
Enter the name of the object and its Selection Hotkeys
components you want to select. You can
use * and other wildcards to select
multiple objects and properties. Key Tool or action
Explore menu or explorer filter buttons Hierarchy navigation space bar Select objects with the Rectangle selection tool, in either
Display the current scene hierarchy, Select an object’s supra or sticky mode.
current selection, or the clusters or sibling or parent.
e Select edges with the Rectangle selection tool, in either
properties of the current selection.
supra or sticky mode.
These buttons are particularly useful
because they display pre-filtered t Select points with the Rectangle selection tool, in either
information but don’t take up a viewport. supra or sticky mode.
Basics • 39
Section 2 • Elements of a Scene
40 • SOFTIMAGE|XSI
Selecting Elements
Selection filters determine what you can select in the 3D and schematic
views. They allow you to restrict the selection to a specific type of object,
component, or property. Pressing Shift while activating a new filter
keeps the current selection, allowing you to select a mixture of
component types.
Basics • 41
Section 2 • Elements of a Scene
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.
Effect of tree-
selecting Object.
42 • SOFTIMAGE|XSI
Selecting Elements
Loop Selection
First specify the anchor. Alt+middle-click to select a loop of components using any selection
tool (except Paint). When you select a loop of components, XSI 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 along the
extended path.
Then specify the end
component to select
the range in-between.
- Use Ctrl to toggle-select. Once you have selected a new anchor, - Alt+middle-click to select two adjacent components in a single
you can Alt+Ctrl+click to toggle the selection of a range. mouse movement.
Basics • 43
Section 2 • Elements of a Scene
All components on an extended path connecting the two Modifying the Selection
components become selected.
The Select menu has a variety of commands you can use to modify the
Note that for edges, the direction is implied so you only need to selection. For example, among many other things, you can:
Alt+middle-click on a single edge. However, for parallel edge loops,
you still need to specify two edges as described previously. • Invert the selection.
2. Use the following key and mouse combinations to further refine • Grow or shrink a component selection (polygon meshes only).
the selection: • Select adjacent points, edges, or polygons.
- Use Shift to add individual components to the selection as usual.
If you want to add additional ranges or loops using Alt+Shift, the Defining Selectability
last component added to the selection is the new anchor. The last You can make an object unselectable in the 3D and schematic views by
selected component becomes the anchor for any new loop. Once opening up its Visibility properties and turning off Selectability. This
you have selected a new anchor, you can Alt+Shift+middle-click can come in handy and speed up your workflow if you are working in a
to add another loop to the selection. very dense scene and there are one or more objects that you don’t wish
- Use Ctrl to toggle-select. Once you have selected a new anchor, to select.
you can Alt+Ctrl+middle-click to toggle the selection of a loop. Unselectable objects are displayed in dark gray in the wireframe and
- Use Ctrl+Shift to deselect. Once you have selected a new anchor, schematic views. Regardless of whether an object’s Selectability is on or
you can Alt+Ctrl+Shift+middle-click to deselect a loop. 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|XSI
Objects
Objects
Objects can be duplicated, cloned, and organized into hierarchies,
groups, and layers.
Cloning Objects
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.
When an object is duplicated... ... the original and its duplicates
can be modified separately with
no effect on each other. Duplicating Objects
To duplicate an object, select it and choose Edit > Duplicate/
Instantiate > Duplicate Single or press Ctrl+d. The object is duplicated
using the current options and the copy is immediately selected. You
may need to move it away from the original. By default, any
transformation you apply is remembered for the next duplicate.
To make multiple copies, Edit > Duplicate/Instantiate > Duplicate
Multiple or press Ctrl+Shift+d. Specify the number of copies and the
incremental transformations to apply to each one.
Basics • 45
Section 2 • Elements of a Scene
46 • SOFTIMAGE|XSI
Objects
Basics • 47
Section 2 • Elements of a Scene
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 objects themselves.
48 • SOFTIMAGE|XSI
Objects
Basics • 49
Section 2 • Elements of a Scene
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.
50 • SOFTIMAGE|XSI
Properties
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.
Basics • 51
Section 2 • Elements of a Scene
Displaying Components
An object that has a shared material (such
as sphere5, above) displays its shared You can display the various component types in a
material in italics. The material’s source specific 3D view using the individual options available
(where it’s propagated from) is shown in
parentheses.
from its eye icon (Show menu) or in all open 3D views Eye icon
using the options on the Display > Attributes menu on
If no source is shown, then it is inherited the main menu bar.
from the scene root.
For more options, you can set the visibility options in the Camera
You can also set the following options in the explorer’s View menu: Visibility property editor: click a 3D view’s eye icon (Show menu) and
choose Visibility Options, or Display > Visibility Options for all open
• Local Properties displays only those properties that have been 3D views.
applied directly to an object.
Note that when you activate a component selection filter, the
• Applied Properties shows all properties that are active on a object, corresponding components are automatically displayed in the 3D
no matter how they are propagated. views.
52 • SOFTIMAGE|XSI
Components and Clusters
eyebrow, you can easily deform the eyebrow as an object instead of Adding and Removing Components from Clusters
trying to reselect the same points each time you work with it. You can
To add components to a cluster, select the cluster Add to Cluster
also apply operators like deformations or Cloth to specific clusters
and add the components you want to the
instead of an entire object.
selection. In the Edit panel, click the + button
You can define as many clusters on an object as you like, and the same (next to the Cluster button).
component can belong to a number of different clusters.
To remove components from a cluster, select the
You can define clusters for points, edges, polygons, subsurfaces, and cluster, add the components to remove to the
other components. Each cluster can contain one type of component. selection, and click the – button. Remove from Cluster
For example, a cluster can contain points or polygons, but not both.
When you add components to an object, any new
Clusters may shift if you edit an operator in an object’s components that are completely surrounded by similar
construction history and add components before the position components in a cluster are automatically added to the
where the cluster was created. cluster.
Creating Clusters Selecting Clusters
To create a cluster, select some components and click Cluster on the You can select clusters using the Clusters button at the bottom of the
Edit panel (Cluster changes to Group when objects are selected). As Select panel, or in any other explorer.
soon as the cluster is created, you can press Enter to open its property
editor and change its name.
To create a cluster whose components aren’t already in other clusters,
choose Edit > Create Non-overlapping Cluster instead. You can also use
Edit > Create Cluster with Center to make a cluster with a null “center”
that you can transform and animate. If you prefer to use a different
object as a center, simply create a cluster and apply Deform > Cluster You can also select clusters in a 3D view when a component selection
Center manually. 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 • 53
Section 2 • Elements of a Scene
54 • SOFTIMAGE|XSI
Parameter Maps
Basics • 55
Section 2 • Elements of a Scene
Selected cluster
In the default paint mode (normal, also called additive), use the left
mouse button to add paint and the right mouse button to remove
weight. Press Alt to smooth.
A spot of paint
and it’s as good as new!
56 • SOFTIMAGE|XSI
Parameter Maps
Basics • 57
Section 2 • Elements of a Scene
58 • SOFTIMAGE|XSI
Section 3
Moving in 3D Space
Working in 3D space is fundamental to
SOFTIMAGE|XSI. You will use the transformation
tools constantly as you model and animate objects
and components.
Basics • 59
Section 3 • Moving in 3D Space
Coordinate Systems
SOFTIMAGE|XSI uses coordinate systems, also called reference frames, XYZ Coordinates
to 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.
XSI 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
XSI uses a “Y-up” system, where the Y direction represents height. This
XZ, XY, YZ Planes
is different from some other software, which are “Z-up”. This is Since you are working with a two-
something to keep in mind if you are familiar with other software, or dimensional interface, spatial planes are used
are trying to import data into XSI. 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 XSI: object centers, planes are folded together like the top, front, and right side of a box.
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.
60 • SOFTIMAGE|XSI
Coordinate Systems
Basics • 61
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)
62 • SOFTIMAGE|XSI
Transformations
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...
Basics • 63
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 65. You can
also temporarily turn on Uni by pressing Shift while scaling.
64 • SOFTIMAGE|XSI
Transformations
• Ctrl+click the All Axes icon to toggle all three axes. 2. Activate a transform tool.
Basics • 65
Section 3 • Moving in 3D Space
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.
66 • SOFTIMAGE|XSI
Transformations
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 branch-selected and scaled. This maintains the 1. Choose File > Preferences from the main menu bar.
relative shape of the children without shearing if they are rotated with 2. Click General.
respect to their 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 • 67
Section 3 • Moving in 3D Space
68 • SOFTIMAGE|XSI
Transform Setup
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 • 69
Section 3 • Moving in 3D Space
70 • SOFTIMAGE|XSI
Section 4
Basics • 71
Section 4 • Organizing Your Data
72 • SOFTIMAGE|XSI
Scenes
Scenes
A scene file contains all the information necessary to identify and position all the models and their animation, lights, cameras, textures, and so on for
rendering. All the elements of a scene are compiled into a single file with an .scn extension.
Basics • 73
Section 4 • Organizing Your Data
Getting and Setting Data in the Scene TOC 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
Scene files can be further modified by its scene TOC. The scene TOC render options, change the current render pass, and so on.
(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, XSI looks for a corresponding scene
TOC file. If it is found, XSI automatically applies the information it
contains.
74 • SOFTIMAGE|XSI
Projects
Projects
In XSI, you always work within the structure of a project. A project is a When you open XSI for the first time, an untitled scene is created in the
system of folders that contain the scenes you build and the external files XSI_SAMPLES factory project. You can set your own project as the
referenced by those scenes. default project that opens with XSI. The project name in the title bar at
the top of the XSI interface is the active project.
Projects are used to keep your work organized and provide a level of
consistency that can simplify production for a workgroup. A project Project lists are text-based files with an .xsiprojects file name extension.
can exist locally on your machine or can be shared from a network You can build, manage and distribute your project lists among
drive. members of your workgroup using the Project Manager.
Location of your project folder. Set the default project that opens Set the selected project as the
automatically when you start XSI. active project.
Basics • 75
Section 4 • Organizing Your Data
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.
Exporting Models When you export a model, a copy is saved as an independent file. The
file names of exported models have an .emdl extension.
Use File > Export > Model to export models created in XSI for use in
other scenes. Using models to export objects is the main way of sharing The original model remains in the scene. If you ever need to modify the
objects between scenes. model, you can change it in the original scene, and then re-export it
using the same file name. If other scenes use that file as a referenced
76 • SOFTIMAGE|XSI
Models
model, they will update automatically when you open them. If you Referenced models also let you work at different levels of detail. You
imported the file into another scene as a local model, you must delete can have a low-resolution model for fast interaction while animating, a
the model from that scene and re-import it from the file to obtain the medium-resolution model for more accurate previewing, and a high-
updated version. resolution model for the final results.
Referenced models are indicated in the explorer by a white man icon.
Importing Local Models The default name of this node depends on the name of the external file,
When you import a model locally instead of as a referenced model, its but you can change it if you want. The name of the active resolution
data becomes part of your scene. It is as if the model was created appears in square brackets after the model’s name. The name of a delta’s
directly in the scene—there is no live link to the .emdl file. You can target model appears after the delta’s name.
make any changes you want to the model and its children.
To import a model locally, choose File > Import > Model from the
main menu. You can also drag an .emdl file from a browser or a link on
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.
Basics • 77
Section 4 • Organizing Your Data
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.
78 • SOFTIMAGE|XSI
Importing and Exporting
Basics • 79
Section 4 • Organizing Your Data
80 • SOFTIMAGE|XSI
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 curves,
polygon meshes, or NURBS surfaces.
Basics • 81
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.
82 • SOFTIMAGE|XSI
Geometric Objects
Geometric Objects
By definition, geometric objects have points. The set of these points
and their positions determine the shape of an object and are often
called the object’s geometry. The number of points and how they are
connected is called its topology.
No matter what the type of geometry, XSI allows you to select, A subdivision surface created from a cube.
manipulate, and deform points in the same way.
Types of Geometry
The main types of renderable geometry in XSI are polygon meshes and NURBS Surfaces
NURBS surfaces. In addition, there are other types of geometry that
you can use for specialized purposes. Surfaces are two-dimensional NURBS (non-uniform rational B-splines)
patches defined by intersecting curves in the U and V directions. In a
Polygon Meshes cubic NURBS surface, the surface is mathematically interpolated
between the control points, resulting in a smooth shape with relatively
Polygon meshes are quilts of polygons joined at their edges and
few control points.
vertices. One advantage of polygon meshes is that they allow for almost
arbitrary topology—you are not limited to rectangular patches and The accuracy of NURBS makes them ideal for smooth, manufactured
you can add extra points for more detail where needed. shapes like car and aeroplane bodies. One limitation of surfaces is that
they are always four-sided.
Basics • 83
Section 5 • General Modeling
Curves Particles
In XSI, curves are one-dimensional NURBS of linear or cubic degree. Particles are disconnected points emitted
Cubic curves with Bézier knots can be manipulated as if they are Bézier by a cloud during a simulation. You can
curves. use them to 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
for constructing polygon meshes surfaces, paths for objects to move along,
controlling deformations like deform by curve and deform by spine, and
so on. Hair
Hair objects let you use guide hairs to
A simple cubic NURBS curve. control a full head of render hairs.
You can style the hairs manually as
well as apply a dynamic simulation.
Lattices
Lattices are a hybrid between geometric objects and control objects.
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.
84 • SOFTIMAGE|XSI
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 their purpose is to indicate the visible side of the object
and its orientation to the camera. Normals are computed to optimize
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
Right Wrong
Basics • 85
Section 5 • General Modeling
86 • SOFTIMAGE|XSI
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 XSI, as well as import it from RTF (rich text
the whole head on a model of a character. format) files. Text is not a type of geometric object in XSI; instead, text
There are several different primitive shapes for each geometry type. information is immediately converted to curves. After that, the curves
Each primitive shape has parameters that are particular to it—for can be optionally converted to planar or extruded polygon meshes.
example, a sphere has a radius that you can specify, a cube has a length,
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 Creating Text
toolbars at the left of the main window.
• Choose one of the following commands from the Model toolbar:
1. Choose Get > Primitive.
- Create > Text > Curves creates a Text primitive and converts it to
2. Choose an item from the submenus: a curve object.
- Curve displays a submenu from which you can choose an - Create > Text > Planar Mesh creates a Text primitive, converts it
available NURBS curve shape. to a curve object, and then finally converts the curve to a polygon
mesh with the Extrusion Length set to 0. The curve object is
- Polygon Mesh displays a submenu from which you can choose an automatically hidden.
available polygon mesh shape.
Basics • 87
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).
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.
88 • SOFTIMAGE|XSI
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|XSI. Every time
example, Revolution Around Axis requires only one curve, while you perform a modeling operation, such as modify the topology or
Loft allows for any number of profile curves to define the cross- apply a deformation, an operator is added to the stack. Operators
section. propagate their effects upwards through the stack, with the output of
You are not limited to curve objects. You can also select curves on one operator being the input of the next. At any time, you can go back
surfaces, including any combination of isolines, knot curves, and 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 XSI Reference by clicking on the For example, suppose you get a primitive polygon mesh grid, apply a
? 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.
Example of extruding a curve along another curve • Change the size of the grid.
• Change the angle, offset, and axis of the twist in Twist Op.
• Change the random displacement parameters in Randomize Op.
Basics • 89
Section 5 • General Modeling
Secondary Shape
Modeling Animation
Define shapes on Apply envelopes or Display type
top of envelopes, other animated menu
e.g., muscle bulges. deformations.
90 • SOFTIMAGE|XSI
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, XSI 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.
Basics • 91
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.
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.
92 • SOFTIMAGE|XSI
Attribute Transfer (GATOR)
Basics • 93
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 XSI
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,
pressing m again, or activating a different tool.
94 • SOFTIMAGE|XSI
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 96.
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 • 95
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.
96 • SOFTIMAGE|XSI
Manipulating Components
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. Slide Components button
To change other proportional settings, right-click on Prop.
- Right-click and choose Slide Components.
Basics • 97
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
or Ctrl+mouse-wheel.
• Press Ctrl to toggle snapping to targets on or off (depending on its
current setting on the Snap panel) while translating. 4. Repeat steps 2 and 3 to weld more points, if desired. When you
have finished welding, toggle Weld Points off.
• Press Ctrl to snap by increments while scaling.
For more information about snapping options, see Snapping on Hiding the Manipulator
page 70.
If you don’t like working with the
manipulator, you can hide or unhide it by
Welding Points clicking the on-screen button at the bottom
Toggle Manipulator button
You can interactively weld pairs of points on polygon meshes while of the view or by choosing Toggle
using the Tweak Component tool. Welding merges points into a Manipulator from the context menu.
single vertex. When the manipulator is off, the Tweak Component tool is always in
To weld points
click-and-drag mode:
1. While the Tweak Component tool is active, toggle Weld Points on • If all axes are active on the Transform panel, translation occurs in
by doing one of the following: the viewing plane and scaling is uniform in local space. If one or
more axes have been toggled off, translation and scaling use the
- Press l. Press and release the key to toggle welding on or off current manipulation mode and active axes set on the Transform
(sticky mode) or press and hold it to temporarily override the panel.
current behavior (supra mode).
• Rotation uses the current manipulation mode and the Y axis by
- Click the on-screen Weld Points icon at the bottom of the view. default, but you can select a different axis by deactivating the
others.
Weld Points button
98 • SOFTIMAGE|XSI
Manipulating Components
Basics • 99
Section 5 • General Modeling
Deformations
Deformations are operators that change the shape of geometric objects. Lattice Deformation
XSI 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.
100 • SOFTIMAGE|XSI
Section 6
Curves
XSI 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.
Basics • 101
Section 6 • Curves
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.
102 • SOFTIMAGE|XSI
Drawing Curves
Basics • 103
Section 6 • Curves
104 • SOFTIMAGE|XSI
Manipulating Curve Components
Basics • 105
Section 6 • Curves
106 • SOFTIMAGE|XSI
Manipulating Curve Components
Basics • 107
Section 6 • Curves
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
108 • SOFTIMAGE|XSI
Importing EPS Files
Filleting Curves
Basics • 109
Section 6 • Curves
110 • SOFTIMAGE|XSI
Section 7
Polygon Mesh
Modeling
Polygon meshes are one of the basic renderable
geometry types in SOFTIMAGE|XSI. 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.
Basics • 111
Section 7 • Polygon Mesh Modeling
Polygon-by-polygon Modeling
With polygon-by-polygon modeling, you draw each polygon directly.
112 • SOFTIMAGE|XSI
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.
Polygon
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 • 113
Section 7 • Polygon Mesh Modeling
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.
• XSI 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 XSI, remember that such geometry
may not be considered valid by other applications.
A non-manifold geometry
that is valid in XSI.
114 • SOFTIMAGE|XSI
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.
Selected edges
marked as hard.
Basics • 115
Section 7 • Polygon Mesh Modeling
• 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. XSI
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.
116 • SOFTIMAGE|XSI
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 • 117
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.
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.
118 • SOFTIMAGE|XSI
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.
Basics • 119
Section 7 • Polygon Mesh Modeling
Extruding Components
You can extrude polygons to create local details, such as indentations If you want to adjust other properties, open the Extrude Op
or protuberances like limbs and tentacles. You can extrude polygons, property editor in the stack.
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.
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.
120 • SOFTIMAGE|XSI
Removing Polygon Mesh Components
Selected polygons
will be dissolved.
Basics • 121
Section 7 • Polygon Mesh Modeling
• 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.
Original objects
Blended object
Near boundaries are joined
Merged object
Near boundaries are merged
122 • SOFTIMAGE|XSI
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.
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.
Basics • 123
Section 7 • Polygon Mesh Modeling
Edge filtering is especially useful for reducing the triangulation on Polygon reduction works by collapsing edges into points. Edges are
polygon meshes generated by Boolean operations. chosen according to their “energy”, which is a metric based on their
length, orientation, and other criteria. In addition, you have options to
Filtering Points control the extent to which certain features, such as quad polygons, are
preserved by the process.
Modify > Poly. Mesh > Filter Points on the Model toolbar welds
together vertices that are within a specified distance from each other.
• 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.
• When you filter polygons by area, the smallest polygons are
removed. This eliminates small, “noisy” details.
124 • SOFTIMAGE|XSI
Subdivision Surfaces
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|XSI gives you a choice of
and texturing capabilities of polygon meshes. several 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
XSI-Doo-Sabin Subdivision
Basics • 125
Section 7 • Polygon Mesh Modeling
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, which gives better results
when smoothing and shading.
126 • SOFTIMAGE|XSI
Section 8
NURBS Surface
Modeling
NURBS surfaces are one of the basic types of
renderable geometry in SOFTIMAGE|XSI. 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.
Basics • 127
Section 8 • NURBS Surface Modeling
About Surfaces
In SOFTIMAGE|XSI, surfaces are NURBS patches. Mathematically, • Knot curves (sometimes called isoparams or isoparms) are sets of
they are an interconnected patchwork of smaller surfaces defined by connected knots along U or V—they are the “wires” shown in
intersecting 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.
128 • SOFTIMAGE|XSI
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 88 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.
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
Basics • 129
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.
130 • SOFTIMAGE|XSI
Projecting and Trimming with Curves
Basics • 131
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.
Snap opposite
boundaries together to
connect the surfaces
across the junction.
132 • SOFTIMAGE|XSI
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.
4. You can now deform and animate the surface mesh as desired.
Basics • 133
Section 8 • NURBS Surface Modeling
134 • SOFTIMAGE|XSI
Section 9
Animation
To animate means to make things come alive, and
life is always signified by change: growth,
movement, dynamism. In XSI, 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.
Basics • 135
Section 9 • Animation
Bringing It to Life
The animation tools in SOFTIMAGE|XSI let you create animation • Appearance: Material, textures, visibility, lighting, and
quickly so you can spend the time you need to perfect it by editing the transparency are just some of the parameters controlling
movements, changing the timing, and trying out different techniques appearance that can be changed over time.
for perfecting the job. XSI gives you the control and quick feedback you
One of the most important features of XSI is its low and high-level
need to produce great animation. Basically, if you want to make it
approach to animation. Low-level animation means getting down to
move, XSI has the tools.
the parameters of an object and animating their values. Keyframing is
the most common method of direct animation, but you can also use
What Can You Animate in XSI? expressions, constraints, linked parameters, and expressions for
You can animate every scene element and most of their parameters—in creating animation control relationships.
effect, if a parameter exists on a property page, it can probably be High-level animation
animated. means that you are
• Motion: Probably the working with animation
most common form of in a way that is nonlinear
animation, this involves (the animation is
transforming an object independent of the
by either moving timeline) and non-
(translating), rotating, or destructive (any
scaling (resizing) it. modifications do not
Special character tools let destroy your original
you easily animate animation data).
humans, animals, and all You store animation or
manner of fantastical shapes in sources, then
creatures. You can also use use the animation mixer Keyframed (low-level) animation can be
dynamic simulations to to edit, mix, and reuse contained in action sources, then brought
create movement into the animation mixer as a clip (high level).
Motion, geometry deformations, and those sources as clips.
according to the physical appearances can all be animated in XSI.
forces of nature. To use these levels together, you can animate at a low level by
keyframing a specific parameter, then store that animation and others
• Geometry: You can animate an object’s geometry by changing into action sources and mix them together in the animation mixer to
values such as U and V subdivision, radius, length, or scale. You animate at a high level. This allows you to easily manage complex
can also use numerous deformation tools and skeletons to bend, animation yet retain the ability to work at the most granular level.
twist, and contort your object.
136 • SOFTIMAGE|XSI
Bringing It to Life
The Many Techniques of Animating in XSI you generate can be stored and reused later, on the same model or a
different one. You can also mix different types of animation
XSI provides you with many choices of tools and techniques for together and weight them against each other.
animating: explore and decide which tool lets you animate in the most
effective way. In most projects you have, you will probably use a • Shape animation lets you can change
combination of a number of these tools together to get the best results. the geometry of an object over time. To
do this, you deform the object into
• The most basic different shapes using any type of
method of animation deformation tool, then store shape keys
is keying. You set for each pose that you want to animate.
parameter values at
specific frames, and • Dynamic simulations let you create
then set keys for these realistic motion with natural forces
values. The values for acting on rigid bodies, soft bodies,
the frames between cloth, and particles. With
the keys are calculated by interpolation. simulations, you can create
• Create animation relationships animation that could be difficult or
between objects at the lowest time-consuming to achieve with
(parameter) level. These include other animation techniques.
constraints, path animation,
linked parameters, expressions, Animation and Models
and scripted operators.
Models in XSI are data containers (like mini scenes) that make it easy
to organize elements that need to be kept together, such as all the
• Character animation tools offer
elements that make up a character.
you control for creating and
animating skeletons. You can The main reason for using models for
animate them with forward or animation is that they provide the easiest
inverse kinematics, add an way to import and export animated
enveloping model, set up a rig, objects between scenes, and to copy
and fine-tune the skeleton’s animation between objects.
movements in a myriad of ways to
get just the right motion. Models also make it easy to use the
animation mixer. Each model can have
• The animation mixer is only one Mixer node that contains mixer
a powerful editing tool and animation data. If you have many
that is nonlinear and objects in a scene that use the mixer but
non-destructive. Any they aren’t within models, you can’t copy
type of animation that animation from one object to another.
Basics • 137
Section 9 • Animation
138 • SOFTIMAGE|XSI
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 type
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. Ghosting works for
the display type to Hidden Line Removal for a “pencil test” effect.
any object that moves in 3D space, either by having its transformation
You can also include audio files to play back with the flipbook, parameters (scaling, rotation, and translation) animated in any way, or
especially useful for lip synching. by having its geometry changed by shape animation or deformations
(including envelopes), or with dynamic simulations (rigid bodies) and
How to Create a Flipbook deformations (cloth and soft body).
1 In the viewport whose images you want to capture, set Ghosts in a dark color below are
the display options as you like. Then click the camera displayed on keys that have
icon in that viewport and choose Start Capture. played before the current frame.
Ghosts in a lighter color show
2 In the Capture Viewport dialog box, set the options for the interpolation between
the flipbook’s file name, image size, format, sequence, those keys.
padding, and frame rate.
Basics • 139
Section 9 • Animation
140 • SOFTIMAGE|XSI
Animating with Keys
Keying Parameters in the Keying Panel Keying with Character Key Sets
Using the keying panel (click the KP/L tab on the main command Character key sets are sets of keyable parameters that you create for an
panel), you can quickly and easily change values and set keys for object or hierarchy for quick and easy keying. Once you have created
specific parameters of a selected object. The parameters that are key sets, you don’t need to select an object first to key its parameters—
displayed in the keying panel are called keyable parameters. just press K or click the keyframe icon and whatever is in the current
character key set is keyed.
Once you have set up the object’s keying panel with the keyable
parameters you want, you simply select that object and press K or click Character key sets let you keep the same set of parameters available for
the keyframe icon to set a key on whatever is in its keying panel. any object or hierarchy for easy keying, such as only the rotation
parameters for the upper body control in a rig.
1 Set the Save Key preference 2 Select an object and open the keying
to Key All Keyable. panel (click the KP/L tab). 1 Create a character key set that 2 Set the current character key set.
includes the parameters you
want to key on an object. If you just created a character key
set, it is set as the current one.
Basics • 141
Section 9 • Animation
142 • SOFTIMAGE|XSI
Animating Transformations
Basics • 143
Section 9 • Animation
144 • SOFTIMAGE|XSI
Animating Transformations
Basics • 145
Section 9 • Animation
146 • SOFTIMAGE|XSI
Editing Keys and Function Curves
Editing Function Curves The graph in the fcurve editor is where you manipulate the fcurve: time
is shown along the graph’s X axis (horizontal), while the parameter’s
When you set keyframes to animate a parameter, a function curve, or value is plotted along the graph’s Y axis (vertical).
fcurve, is created. An fcurve is a representation of the animated
parameter’s values over time. You can edit fcurves in the fcurve editor, The shape of the fcurve shows how the parameter’s value changes over
which lives in the animation editor and is its default editor. The fcurve time. On the fcurve, keyframes are represented by key points (also
editor is an ideal tool to help you control the animation’s speed and referred to as keys) and the interpolation between them is represented
interpolation, as well as easily adding and deleting keys. by segments of the curve linking the key points. You can change the
interpolation for each segment or for the whole fcurve.
Press the 0 (zero) key to open the animation editor in a floating
window, or you can open it in any viewport. The slope of the curve between keys determines the rate of change in
the animation, while the handles at each key let you define the fcurve’s
slope in the same way that control points define Bézier curves.
Animation explorer
displays the parameters
of the selected elements.
Basics • 147
Section 9 • Animation
Ways of Editing Function Curves and Keys Editing a Function Curve’s Slope
When you select one or more fcurves, any modifications you perform The fcurve’s slope determines the rate of change in the animation. By
are done only to them. You can also select keys on fcurves to edit only modifying the slope, you change the acceleration or deceleration in or
them, including regions of keys on fcurves. out from a key, making the animation change rapidly or slowly, or even
reversing it.
Create regions (press Q) of You can change the slope of any fcurve that uses spline interpolation by
Move fcurves and keys in X keys for editing. using the two handles (called slope handles) that extend out from a key.
(horizontally) to Drag the region up or down to By modifying the handles’ length and direction, you can define the way
change the time move the keys, or drag the the curve moves into and out from each key.
or in Y (vertically) region’s handles to scale.
to change the
values.
Slope handles displayed on each
Add or selected key.
delete keys You can change the length and
on an fcurve. angle of each handle in unison or
individually.
Scale fcurves or regions of The slope handles are tangent to the curve at their key when Unified
keys. When you shorten the Slope Orientation is on. This keeps the acceleration and deceleration
length, you speed up the smooth, but you can also turn off this option to “break” the slope at a
animation; increasing the certain point. This creates a sudden animation acceleration or deceleration,
length slows it down. Scaling or change of direction altogether.
vertically changes the values.
148 • SOFTIMAGE|XSI
Layering Animation
Layering Animation
Animation layering allows you to have two or more levels of animation
on an object’s parameters at the same time. You usually want to layer 1 Make sure the objects are 2 Animate the objects.
animation when you need to add an offset to the main animation on an in a model This animation is in the
structure. base layer.
object, but you don’t want to change that animation.
Layering lets you add keys on top of the existing base animation, which
can be either action clips or fcurves. You can easily add keys on top of
the action clip is currently in the mixer without needing to actually
work in the mixer, or add keys on top of existing fcurves.
Animation layers are non-destructive, meaning that they don’t alter 3 Create an animation layer in
your base animation in any way: the keys in the layers always remain a the Animation Layer panel.
separate entity. Layering allows you to experiment with different effects
on your animations and build several variations of a move, each in its
own layer. 4 Select the animated
objects, change
For example, let’s say that you’ve imported a mocap action clip of a their values, and set
character running down the flight of stairs. However, in your current keys for them in the
scene, the stairs are shallower than those used for the mocap session, so layer you created.
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 5 Edit the layer’s fcurves.
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
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
setting each layer’s weight. Collapse the layer to
6
combine its animation with
There are different ways in which you can work with animation layers the base layer.
in XSI, but here’s a simple overview just to get you started.
Basics • 149
Section 9 • Animation
Constraints
Constraining is a way of increasing the speed and efficiency in which How to Constrain Objects
you animate. It lets you animate one object “via” another one’s
animation. You can constrain different properties, such as position or
1 Select the object to be constrained.
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 Choose the constraint command
from the Constrain menu.
Radar dish constrained by
direction to the plane
The X axis of the radar dish
continually points in the direction
of the plane’s center.
150 • SOFTIMAGE|XSI
Constraints
Creating Offsets between Constrained Objects with a trailer versus a pickup truck. With soft coupling, the trailer
follows the car but still has a limited range of motion; with rigid
When you constrain an object, you often need to offset it in some way coupling, the truck bed is welded to the truck.
from the constraining object. This could be an offset in position,
orientation, or scaling. For example, if you position-constrain one
Blending Constraints
object to another without an offset, both objects end up sharing the
same position (“on top” of each other), so you need to offset them. You can blend multiple constraints on an object with each other, as
well as blend constraints with other animation on the constrained
Constraining object Constrained object object. You set the Blend Weight parameter’s value in each constraint’s
(magnet) (airplane) property editor to blend the weight (or “strength”) of one constraint
against the others. And, of course, you can animate the blending to
Position constraint
without offset
have it change over time.
The position of the Blending is done in the order in which you applied the constraints,
constrained object’s center
matches that of the from the first-applied constraint to the last. Each constraint takes the
constraining object’s center. previous result and gives a new one based on the value you set.
For example, if you have three position constraints on an object, you
can have the object placed exactly in the center of them.
Position constraint with
offset: An offset is applied to
the position of the constrained
Cone has 3 blended position constraints:
object’s center.
1. First to A with a blend weight of 1
A
2. Next to B with a blend weight of 0.5
With almost all types of constraints, you can set offsets using the 3. Lastly to C with a blend weight of 0.333
controls in their property editors. The offset is set between the centers This keeps the cone positioned in the middle of
of the constrained and constraining objects on any axis. the triangle formed by A, B, and C.
Basics • 151
Section 9 • Animation
Path Animation • Convert the existing movement of an object into a path using the
Create > Path > Convert Position Fcurves to Path command.
A path provides a route in global space for an object to follow in order
to get from one point to another. The object stays on the path because Want to convert a path animation to translation? Plot the
its center is constrained to the curve for the duration of the animation. position of the path-animated object, then apply the result to the
object or as an action in the animation mixer.
This plane uses path animation. Its The dotted line is connected to
position is measured as a percentage the center of the constraining
along the curve. A triangle represents curve. You can select the line
a locked-path key. and press Enter to open the
PathCns or TrajectoryCns
property editor.
This plane uses trajectory
animation. It jumps from knot to
knot at each frame.
A square represents a
key saved on the path.
You can create path animation in XSI using a number of methods, each A circle represents a key set directly
one having its own advantages: from a property page or the
animation editor. These are the only
• The quickest and easiest way of animating an object along a path is type of keys found on trajectories.
You can see path information if
by using the Create > Path > Set Path command and picking the you click the eye icon in a
curve to be used as the path. There’s no need to set keyframes—just viewport and select Relations.
set the start and end frames. The object is automatically
constrained to the path and animated along the percentage of the After you’ve created path animation, you can modify the animation by
curve’s length. changing the timing of the object on the path (choose the Create >
Path > Path Retime command), or by moving, adding, or removing
• Constrain an object to curve using the Curve (Path) constraint and points on the path curve as you would to edit any curve.
manually set keys for the percentage of the path traveled.
For example, using the Path Retime command, you can shorten (and
• Choose the Create > Path > Set Trajectory command and pick a
therefore increase the speed) a path animation that went from frame 1
trajectory to use a curve’s knots as indicators of the object’s to 100 to frames 20 to 70. You can even reverse the animation—for
position at each frame.
example, enter 100 as the start and 1 as the end frame.
• Move an object about your scene and save path keys with the
Create > Path > Save Key on Path command at different
positions—the path curve is created automatically as you go.
152 • SOFTIMAGE|XSI
Linking Parameters
Linking Parameters
When you link parameters, also known as driven keys, you create a • Drive a single parameter with the whole orientation of an object.
relationship between them in which one parameter depends on the
animation state of another. In XSI, you can create simple one-to-one How to Link Parameters
links with one parameter controlling another, or you can have multiple
parameters controlling one parameter. 1 Open the parameter connection editor.
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 2 Select an object, then select one or more of its
parameters in the Driven Target explorer. These are
does this). the parameters whose values will be controlled by
the driving parameter.
Click the lock icon to prevent this explorer from
changing when you select other objects.
3
Select an object, then
select one of its
parameters in the
Driving Source
explorer.
Venus flytrap eyes its victim. Its jaw’s rotation Z parameter is linked to (driven
by) the position X parameter of the fly that is animated along a path. This is the parameter
whose values will
You can link any animatable parameters together—from translation to control the linked
color—to create some very interesting or unusual animation parameters.
conditions. For example, you could create a chameleon effect so that
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 Click the Link button.
more other parameters. When you link one parameter to another, a 4 Select Link With from
A link relationship is the link list.
relationship is established that makes the value of the linked established between the
parameter depend on the value of the driving parameter. parameters. The 6 Set the driving and linked parameters’
animation icon of values as you want them to be relative to
• Drive a single parameter with the combined animation values of the linked each other, then click Set Relative Values.
multiple parameters. This allows you to create more complex parameter displays
an “L” to indicate this. Repeat this step for each relative state you
relationships, where many parameter values are interpolated to want to set at each frame.
create an output value for one parameter.
Basics • 153
Section 9 • Animation
Expressions
Expressions are mathematical formulas that you can use to control any How to write an expression
parameter that can be animated, such as translation, rotation, scaling,
materials, colors, or textures. Expressions are useful to creating regular 1 Select an object and open the expression editor.
or mechanical movements, such as oscillations or rotating wheels. As
well, they allow you to create almost any connection you like between
any parameters, from simple “A = B” relationships to very complex 2 Select the target, which is the 4 Validate and apply
parameter controlled by the expression. the expression.
ones using predefined variables, standard math functions, random
number generators, and more.
However you use expressions, you will find that they are very powerful
because they allow you to animate precisely, right down to the
Shows the value
parameter level. Once you’re more experienced using them, you can of the expression
create all sorts of custom setups, like character rigs and animation at the current
control systems. frame.
3 Enter the
expression in the
expression pane by
typing directly or by choosing The message pane updates as
items from the Function, you work, letting you know
Object, and Param menus. whether the expression is valid.
Press Ctrl+G to switch between
You can also enter parameter this pane and a graph of the
In a property editor, drag an unanimated parameter’s names by typing their script resulting expression values.
animation icon onto another parameter’s animation names and then pressing F12.
icon. This animation icon shows an equal sign and its This prompts you with a list of
value is made to be equal to the first parameter. possible parameters in context.
154 • SOFTIMAGE|XSI
Copying Animation
Copying Animation
There are different levels at which you can copy animation in XSI: • You can copy animation between any parameters in the explorer or
between parameters, between objects, or between models. Here are a property editor in a number of ways, as shown below:
some of the main ways to do this.
In the explorer, drag the
name of an animated
parameter and drop it on
another parameter’s
name.
In a property editor,
drag the animation
icon of an animated
parameter and drop it
on another parameter’s
animation icon.
• You can copy any type of animation
between selected objects, models, or
parameters using 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 either the explorer or a
In the dopesheet, you can copy animation from one model to property editor, right-click the
another, or from one hierarchy of objects to another within the animation icon of an
same model. For example, you can paste a walk cycle animation animated parameter and
from the Bob model to the Fred model, as long as Fred has the same choose Copy Animation.
parameter names as Bob. In the explorer, you can drag an Paste this on another
entire folder from one object onto parameter in the same way.
• Store an object’s animation in an action source and copy it between another object’s folder of the same
models, which is especially useful for exchanging animation name, such as the Pos folder which
contains translation parameters.
between scenes.
Basics • 155
Section 9 • Animation
Selected fcurve
(white) has been
scaled to twice its
length.
The ghosted fcurve
(black) shows the
original fcurve’s Plotting is done by first creating an action source. You can choose to
size. either keep or delete this action source after the animation has been
plotted:
Selected fcurve has • You can apply the plotted animation (fcurves) immediately to the
been offset by object and delete the action source.
about 20 frames.
• You can apply the plotted animation (fcurves) to the object and
also keep them stored in an action source. This may be useful if
you’re using the animation mixer.
Selected fcurve has • You can keep the action source of the plotted animation (fcurves)
been retimed so but not have it applied to the object immediately. This may be
that a range of 125 useful for creating a library of action sources that can be applied to
frames in the middle
of it has been the same or even a different object.
compressed into a
range of 80 frames.
156 • SOFTIMAGE|XSI
Removing Animation
Removing Animation
There are different levels at which you can remove animation in XSI:
between parameters, between objects, or between models. Here are
some of the main ways to do this.
• You can remove any type of animation
from selected objects, models, or
parameters using the Remove Animation
commands from the Animation menu in
the Animation panel.
• You can remove animation from parameters in the explorer or a
property editor.
• You can remove all keys from parameters or objects in the timeline
or in the dopesheet, or remove fcurves or all keys from parameters
or objects in the fcurve editor.
• 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.
Basics • 157
Section 9 • Animation
158 • SOFTIMAGE|XSI
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 XSI, you’ll find everything you need to make any
type of character come alive: from envelopes and
skeletons to control rigs and inverse kinematics.
Basics • 159
Section 10 • Character Animation
160 • SOFTIMAGE|XSI
Character Animation in a Nutshell
7 Create a control rig to help you Skeleton chains are manipulated and
to pose and animate the 9
animated using inverse kinematics (IK) FK
character more quickly and forward kinematics (FK). IK is a goal-
and accurately than oriented way of posing a skeleton, while FK
without a rig. animates a bone’s rotations.
While simple characters may Animate the character in different poses at
not require a rig, a character the key frames. You can also save the
that is complex or needs to do skeleton poses as action sources which you
complicated movements will can then bring into the animation mixer to
need a rig. block out a rough animation.
IK
Basics • 161
Section 10 • Character Animation
Models in XSI are containers that make it easy to organize scene Organizing Your Character into Scene Layers and
elements that need to be kept together. A character’s skeleton hierarchy,
Groups
rig controls, envelope geometry, and groups are often kept together
within a model. The main reasons for using models with character Scene layers let you divide up different scene elements into groupings
animation is that they provide the easiest way to import and export whose visibility, selectability, renderability, and ghosting can be
characters between scenes and to copy animation between characters. controlled. Press 6 to open the scene layer manager and set up the
layers. You can use layers to break a character down into sections so
You can refine your rigs
that you can quickly change selectability and visibility for each layer.
and character models
over the course of a For example, you can separate the
production without fear character’s envelope (geometry), its
of lost animation. For skeleton, and its control objects for
example, character the rig each into different layers.
animators can start
roughing out animation Layers, however, live only at the scene
with a simple rig and low level, so if you’re importing and
resolution proxy model exporting models between scenes, they’re not going to include any
while the other creative layer information. This is where groups can be of help.
work is still being worked Groups let you keep certain character
out. As long as you keep elements together, such as all objects that
the rig controls’ names are to be enveloped. Groups are properties
and their coordinate space consistent, all the animation is kept and can of a model, so you can export them with
be reapplied as the character and rigging both get more complex. your character model.
Another reason to work with models is to easily use the animation Groups allow you to select multiple objects
mixer. Each model can only have one Mixer node. If you have many at a time and are important for sharing
characters in a scene but they aren’t within models, you have only one materials and setting up texture supports
Mixer node for the whole scene (under the scene root, which is for many objects at a time.
technically a model) which means that you can’t copy animation from
one character to another. To create a group, select all elements you
want in the group and press Ctrl+G.
162 • SOFTIMAGE|XSI
Setting Up Your Character
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 XSI scene file. The HTML file is
working with enveloped skeletons can make it difficult to view or select then linked to a scene element.
chain elements. To help you with this, XSI 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.
Synoptic views are easy to set
You can display the chains up and let you do things like
in screen (bones inside) or quickly selecting skeleton
overlay (bones on top) elements, keying them, or
modes. applying set poses.
Click on a hot spot on the
synoptic image to run the script
that is linked to that image.
Basics • 163
Section 10 • Character Animation
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
A 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 if you like.
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.
164 • SOFTIMAGE|XSI
Building Skeletons for Characters
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 XSI: you choose the Draw 2D Chain
that make it easy to animate the skeleton. There are many different
or 3D Chain command and click where you want the root, joints, and
ways in which you can set up a hierarchy, depending on the skeleton’s
effector to be. Here are some tips to help you draw chains:
structure and the type of movements that the character needs to make.
• To place the chain elements exactly where you want, use snapping
as you draw the chains.
Skeleton with part of her hierarchy structure shown in the
• Draw the chains in relation to the default pose of the envelope that schematic view. In this case, the spine root is the parent of
the leg roots, spine, and spine effector.
you’re planning to use. This means you don’t have to spend as
much time adjusting each bone’s size and position later. These elements are, in turn, parents of the legs, neck,
shoulders, spine, and so on.
• Draw the chain with at least a slight bend to determine its direction
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.
OR
3 Click again to create first bone
and second joint.
Basics • 165
Section 10 • Character Animation
166 • SOFTIMAGE|XSI
Building Skeletons for Characters
Basics • 167
Section 10 • Character Animation
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
168 • SOFTIMAGE|XSI
Enveloping
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 and picking it in a
3D view.
Basics • 169
Section 10 • Character Animation
6. Click and drag to paint on points on the envelope. In normal Reassigning Points to Specific Deformers
(additive) paint mode:
You can reassign points to specific deformers. This is useful in case the
- To add weight, use the left mouse button. automatic assignment did not assign the points to the desired bones.
- To remove weight, either use the right mouse button or press 1. Select points on the envelope.
Shift+left mouse button.
2. Choose Deform > Envelope > Reassign Locally on the Animate
- To smooth weight values between deformers, press Alt+left toolbar, or click Local Reassign on the weight paint panel.
mouse button.
3. Pick one or more of the original deformers.
7. Repeat steps 3 to 6 for other deformers and points until you are
satisfied with the weighting.
170 • SOFTIMAGE|XSI
Enveloping
Control display of points and deformers. Limit the number of deformers per point.
Lock weights. Weight assignment options.
Multiple envelopes.
Double-click to expand and collapse, or
right-click for more options.
Basics • 171
Section 10 • Character Animation
172 • SOFTIMAGE|XSI
Enveloping
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 assignments are
Maximum number of deformers
recalculated and any modifications you made to them are preserved.
To remove deformers, simply choose Deform > Envelope > Remove If a point’s weight is assigned to more than this number of
Deformers from the Animate toolbar, pick the deformers to remove, deformers, its row is shown in yellow in the weight editor. If an
and right-click when you are finished. envelope has any such points, its row is shown in yellow, too.
2. To try to fix these points automatically, click Enforce Limit. A Limit
Modifying Enveloped Objects Envelope Deformers operator is applied, and its property page is
Sometimes, after carefully assigning weights manually, you discover opened automatically. By default, the limit is the one you set on the
that you need to make a substantial change to the enveloped object, command bar, but you can change it for individual operators.
such as adding points. Luckily, you do not need to redo all your If a point has more than the maximum number of deformers, the
weighting—you can add and move points after enveloping. operator unassigns the deformers with the lowest weights and then
When you add a point to an enveloped object, it is automatically normalizes the weight among the remainder. However, it will
weighted based on the surrounding points. It is better to add new respect locked weights—locked weights are never changed, even if
points before removing old ones—this means that there is more other deformers have greater weight. If there aren’t enough
weight information for the new points. You can assign the new points unlocked weights to modify, then the total weight might not add
to specific deformers and modify weights as with any point on the up to 100%.
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.
Basics • 173
Section 10 • Character Animation
Rigging a Character
Control rigs allow for “puppeteering” a character, helping you easily You can customize the prefab rigs so that they contain only the
pose and animate it. Once a control rig is set up properly, you can elements you need, exactly as you need them. The guides and rigs can
animate more quickly and accurately than without one. be used as a starting point for different rigging styles, and technical
directors can write their own proportioning script to attach their own
There are a number of tools in XSI to help you create a rig for your
rig to a guide.
character. You can use a number of tools to create control objects and
constrain them to the skeleton, and tools to help you easily create
shadows rigs and manage the constraints between them and their Shadow Rigs and Exporting Animation
parent rigs. Shadow rigs are simpler rigs that are constrained to your more
You can also use the prefab guides and rigs in XSI to help you get going complex main rig that is used for animating the character. Shadow rigs
quickly. These are available for biped, dog-leg biped, and quadruped are usually used for exporting animation, such as to a games or crowd
characters. The rigs are skeletons that include control objects that you engine or other 3D software programs.
can position and orient to animate the various parts of the character’s You can load a basic shadow rig with the Get > Primitive > Model >
body. Biped - Box command. You can also create a shadow rig from a guide
with the Character > Hierarchy from Guide command, or generate a
Ready-made (prefab) biped shadow rig at the same time that you create a prefab rig.
rig that comes with XSI
To transfer the animation from the complex (animated) rig to its
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.
You can create either
a quaternion or
regular chain spine Volume Animated Animation
and head. indicators help main rig transferred to
you work with shadow rig while
envelopes. it’s constrained to
Separate controls for the main rig.
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.
174 • SOFTIMAGE|XSI
Rigging a Character
Basics • 175
Section 10 • Character Animation
Using Prefab Guides and Rigs To start, you first create a proportioning guide and drag its cubes to
resize it to fit your character’s envelope. Then you can create the actual
You can use the prefab guides and rigs in XSI to get going quickly. rig based on this customized guide.
These are available for biped, dog-leg biped, and quadruped characters.
The rigs are skeletons that include control objects that you can position You can customize each element in the rig so that it is exactly what you
and orient to animate the various parts of the character’s body. need. You can also create volume controls to help with enveloping.
These guides and rigs can be used as a starting point for different The guides have synoptic views to help you select and animate the rig
rigging styles, and technical directors can write their own controls: select any control and press F3. There are also preset character
proportioning script to attach their own rig to a guide. 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 XSI 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.
176 • SOFTIMAGE|XSI
Animating Characters
Animating Characters
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 XSI. There are move from an
several issues related to local and global animation, as well as outstretched position
animating transformations in skeleton hierarchies. to a raised position
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.
Animating with Forward Kinematics
2 Click the Rotate (r) button in the
Forward kinematics, or FK as it is usually known, allows for complete Transform panel or press C.
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
arm bone, then the forearm bone, and finally the hand bone. You could also animate with FK by first translating the chain’s effector
(invoking IK) to move the bones into position, and then tweaking
With FK, you can: each bone’s rotation as necessary.
• Key the exact orientation (in X, Y, Z) of a joint. This prevents any When things are in the position you like, choose Skeleton > Key All
Bone Rotations to set rotation keys for all the bones in that chain.
surprises from occurring when 2D chains flatten on their
resolution plane.
To help make keying easier, you can create a character key set that
• Control certain joints that are difficult to animate, such as contains all the rotation parameters for the bones. Then you can
shoulders and arms. quickly key using this set. In a similar way, you can use the keying
panel to key only the rotation parameters that you have set as “keyable”
for the bones.
Basics • 177
Section 10 • Character Animation
178 • SOFTIMAGE|XSI
Animating Characters
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 XSI tries to keep the chain when
computes a solution that considers these angles and the effector’s moving the effector. This plane is referred to as the general orientation
position. 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.
Third point
Resolution plane (a null constrained by an
(gray triangle) up-vector constraint)
Basics • 179
Section 10 • Character Animation
180 • SOFTIMAGE|XSI
Walkin’ the Walk Cycle
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.
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.
Basics • 181
Section 10 • Character Animation
Motion Capture
Motion captured animation (usually known as mocap) offers a way to Retargeting Animation
animate a character based on motion that is electronically gathered
from a human or animal. This is useful for animating actions that are Retargeting allows you to transfer any type of animation between
particularly difficult to do well with keyframing or other methods of characters, regardless of their size or proportions. Retargeting involves
animation creation. In XSI, you can import mocap data and apply it first tagging (identifying) the elements of a rig, then transferring
onto rigs, as well as retarget animation from BVH or C3D mocap files animation from another rig or a mocap data file to the target rig. The
to rigs. animation is retargeted to the new rig as it’s transferred. The retargeted
animation is “live” on the rig, controlled by the retargeting operators
that live on the tagged rig elements. Because of this, you can adjust the
Importing Acclaim and Biovision Mocap Data
animation on the rig at any time so that the motion is exactly as you
You can import motion capture information into XSI using the File > like. If you want to commit the retargeted animation to fcurves, you
Import > Acclaim and Biovision commands. Once the files are can plot it on the rig.
imported, you can constrain the skeletons to a rig and plot the mocap
While you can retarget any type of animation between characters, it is
data into fcurves so that you can edit the animation.
especially useful for reusing motion capture data to animate many
Acclaim Skeleton files different characters with the same movements, such as you would for a
(ASF) contain information game. For example, you can reuse a basic run mocap file for many
about the hierarchy and characters and then adjust the animation for each one as you like by
base pose of the skeleton. adding offsets in different animation layers. Using the retargeting and
This information is used to layering tools in XSI, you can quickly test out many variations of
create a skeleton hierarchy animation on the characters.
(nulls or bones) when
Before you start tagging the character elements or retargeting
imported into XSI. The
animation, make sure that the skeleton or rig is in a model. Retargeting
animation for this skeleton
can work only within model structures.
is saved in an
accompanying Acclaim Using the commands in the Tools > MOTOR menu on the Animate
Motion Capture (AMC) toolbar, you can perform all of these tasks:
file.
• Tag rig elements so that animation can be retargeted onto them.
Biovision (BVH) files Mocap files with Mocap files with
hierarchy imported • Retarget any type of animation from one rig to another.
contain information about hierarchy imported
as bone chains. as nulls.
the hierarchy of the • Retarget animation from BVH (Biovision) or C3D mocap files to a
skeleton. This information rig.
is used to create a skeleton hierarchy (nulls or bones) when imported
into XSI. BVH files also contain two action sources to apply to the • Adjust the retargeted animation on the rig, such as by setting
skeleton: the base pose and the motion. position and rotation offsets for the whole rig or just certain
elements.
182 • SOFTIMAGE|XSI
Motion Capture
• Save any type of retargeted animation in a normalized motion • Plot the retargeted animation on a rig into fcurves so that you can
format (.motor file) so that it can be loaded and retargeted on any edit the animation.
tagged rig. This makes it easy to build up libraries of animation that
can be used across all your rigs.
Retargeting animation between rigs
When you retarget animation between rigs, the retargeting
Tagging a rig’s elements operator figures out which rig elements match based on their tags.
Then it maps and generates the animation that is transferred to the
Tagging tells XSI which part is which on target rig.
your character, such as its hips, chest,
legs, root, and so on. You tag the rig The animation between the two
controls or skeleton parts that you use to rigs is a live link that allows for
animate the character. These tags are interaction.
used to create a map (template) for that
character. Select the source rig, then press
Ctrl and select the target rig.
Select a rig and choose the MOTOR >
Tag Rig command to tag its elements. Then choose the MOTOR > Rig to
Rig command to retarget the
Once you have tagged a rig, you can animation from the source to the
use it for retargeting with another rig or target rig.
with mocap data.
If you want to save the animation
on the target rig, you must plot
(bake) it into fcurves.
Biovision rig
C3D rig
Basics • 183
Section 10 • Character Animation
The left leg and arm are The HLE tool lets you shape an fcurve in an
rotated a bit and then keyed overall fashion, like lattices shaping an object’s
as an offset to the clip. geometry.
The HLE tool creates a
sculpting curve that has
few keys, but each one
Luckily, in XSI you can easily add non-destructive offsets to mocap refers to a group of
points on the dense
data in any of these ways: fcurve.
• Creating animation layers: Create a layer of keys as an offset to
mocap animation. Layers let you keyframe as you would normally
in XSI, 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.
• Mixing fcurves with an action clip: Normally, when there is an
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.
• Creating action clip effects in the mixer. Clip effects let you adjust
the animation in an action clip without affecting the original
animation in the action source. Clip effects add values “on top” of a
clip, such as noise or offsets.
184 • SOFTIMAGE|XSI
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 to animate them.
XSI offers a number of tools in which you can create
shape animation so that you can work in any way
that you feel comfortable.
Basics • 185
Section 11 • Shape Animation
186 • SOFTIMAGE|XSI
Things are Shaping Up
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, rename the cluster with a object. with object but keeps place as object deforms.
descriptive name as soon as you create it. original orientation.
Basics • 187
Section 11 • Shape Animation
188 • SOFTIMAGE|XSI
Creating and Animating Shapes in the Shape Manager
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.
Basics • 189
Section 11 • Shape Animation
190 • SOFTIMAGE|XSI
Storing and Applying Shape Keys
6 You can edit the shape animation in the mixer. You can
resize and layer the clips, add transitions between the
5 Go to the next frame at clips for a smooth change between
which you want to set a 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 • 191
Section 11 • Shape Animation
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
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.
192 • SOFTIMAGE|XSI
Mixing the Weights of Shape Keys
Basics • 193
Section 11 • Shape Animation
+ = or
Shape 1 Shape 2
194 • SOFTIMAGE|XSI
Section 12
Basics • 195
Section 12 • Actions and the Animation Mixer
196 • SOFTIMAGE|XSI
Overview of the Animation Mixer
Basics • 197
Section 12 • Actions and the Animation Mixer
198 • SOFTIMAGE|XSI
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 Animation in a Source Back to an
the animation for all action clips that were created from that source Object
and refer to it.
You can return to the original animation stored in an action source at
Because editing an action source is destructive (you’re changing the
any time by applying that action source to the object. This is useful for
original animation data), you should always make a backup copy of it
restoring animation to an object if you removed it when you created an
before editing. This is also useful to do if you don’t want all action clips
action source, or you can apply a source to another model.
to share the same source (duplicate the source before creating clips
from it). To apply the action source to a model, you simply select the source in
the model’s Mixer > Sources > Animation folder in the explorer and
You can access the animation data in an action source by right-clicking
choose Actions > Apply > Action from the Animate toolbar.
an action clip and choosing Source, or right-click and choose
Animation Editor to access the source’s fcurves.
Basics • 199
Section 12 • Actions and the Animation Mixer
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.
200 • SOFTIMAGE|XSI
Mixing the Weights of Action Clips
Basics • 201
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.
202 • SOFTIMAGE|XSI
Modifying and Offsetting Action Clips
Basics • 203
Section 12 • Actions and the Animation Mixer
204 • SOFTIMAGE|XSI
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.
Basics • 205
Section 12 • Actions and the Animation Mixer
206 • SOFTIMAGE|XSI
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 XSI to
create your own compelling scenes—all the tools
are there for you.
Basics • 207
Section 13 • Simulation
Cloth
The wind force controls
the effect of wind blowing
on the simulated objects.
Particles
208 • SOFTIMAGE|XSI
Making Things Move with Forces
OR
Apply the force to this
Select the simulated object by choosing
object to which you Modify >
B Choose a force from Environment > Apply
want to apply the
the Get > Force Force from the
force.
menu on the Simulate toolbar.
An eddy force simulates the effect of a Simulate toolbar.
vacuum or local turbulence by creating
a vortex force field inside a cylinder.
Basics • 209
Section 13 • Simulation
Particles
The particle simulators makes it easy to animate all types of What Makes Up a Particle System?
phenomena that can be based on particles, such as dry ice flowing out
of a flask in an alchemist’s laboratory, fireworks bursting in the night A particle system is an assembly of different parts that work together:
sky, or snowflakes falling gently on a gray winter’s day. the particle simulator, the cloud, the emitter, the particle type, and the
shader. Natural forces and obstacles for collisions also affect the
There are three separate particle-based simulators in XSI that are particle simulation, but are not directly part of the particle system’s
special in the effects they create and the tasks you can perform with structure.
them.
The emitter is any object from which
• The Particle simulator is the main “all-purpose” tool that you can
The particle cloud represents the the particles are emitted and the
use to create the widest variety of particles. All particle shaders simulator that generates the properties that determine how the
work with this simulator, and many of the tools available for particles. You can have multiple particles are emitted. You can have
particles apply only to it. particle clouds in a scene. multiple emitters per particle cloud.
210 • SOFTIMAGE|XSI
Particles
1 Create particles from an emitter object by 2 Set up the emission properties to get the 3 Set up the particle type to get the basic
choosing a Create > Particles command basic particle movement, such as rate, particle look and behavior, such as size,
from the Simulate toolbar. spread, and speed. lifetime, and basic color.
Basics • 211
Section 13 • Simulation
Setting Up the Emission and Basic Particle Type properties, the particles also have particle type properties that
determine their size, mass, the length of life, and their basic color.
When a particle is born (emitted from the particle emitter object), it Many other options are tied to the particle type, including noise,
has certain properties that determine how many particles are emitted, events, goals, and reactions to forces.
their speed, their spread, and their initial rotation. These are associated
with the particle cloud and the emitter object. In addition to emission
Particle Rate Particle Speed Particles can be emitted from different components of the emitter object:
212 • SOFTIMAGE|XSI
Particles
2 Choose Modify > Particles > Add Goal from the Simulate
2 Select a Trigger and set toolbar, then pick one or more objects to be the goals.
its value. The trigger is the 3 Select a goal behavior on the Goal property page.
thing that makes the
event happen. Here, the
trigger is “at 30% of the
particle’s age”. Chase makes
particles follow this
animated goal.
3 Select an Action, which is
the thing that happens
when the trigger’s value is Flee repels the
reached. Here, the action is Arrive makes particles particles from the
that a new smoke particle slowly approach the goal goal.
type is emitted. in a circuitous manner.
Basics • 213
Section 13 • Simulation
214 • SOFTIMAGE|XSI
Particles
1 Select the particles and open a render tree (press 7). This tree shows
the default shader connection when you create a particle cloud.
Basics • 215
Section 13 • Simulation
216 • SOFTIMAGE|XSI
Hair and Fur
Basic Grooming 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
styling hairs that are similar to and behave like segmented chains. In by volume usually produce the best results. However, if you animate
fact, the most intuitive way to style hair is to grab a tip and position it the deformations, you cannot then use dynamics on the hair.
the same way you would the effector to invoke IK on a 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
return to the Tip selection tool.
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.
Basics • 217
Section 13 • Simulation
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 natural forces applied to hair, look of a hair style quite a lot by modifying the render hairs.
such as gravity or wind, as well as any collisions of the hair with
obstacles. Set the number of render hairs to be
rendered, then decide which percentage of this
You can also use dynamics as a styling tool by freezing the hair when it’s value you want to display. To work quickly,
at a state that you like. For example, apply dynamics, apply some wind display a low percentage, then display the full
amount of hair for the final render.
to the hair, then freeze the hair when it has the right wind-swept look.
218 • SOFTIMAGE|XSI
Hair and Fur
Hair Shaders and Rendering While you can use any type of XSI shader on hair, there are two special
hair shaders (the Hair Renderer and Hair Geo shaders) that give you
Rendering hair is similar to rendering any other object in XSI. You can the most control over the hair for making it look the way you want. You
use all standard lighting techniques (including final gathering and can determine different coloring, transparency, and translucency
global illumination), set shadows, and apply motion blur. Hair is anywhere along the length of the hair, such as at the roots and tips.
rendered as a special hair primitive geometry by the mental ray
renderer.
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.
Basics • 219
Section 13 • Simulation
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
Instead of one value being applied over the surface as with a weight a hair simulation. You can replace hair with one or more geometric
map, a texture map applies a color. You create a texture map in which objects (referred to as instances) to create many different effects. For
you select the texture projection method, then link up an image file example, you could instance a feather object for a bird or instance a leaf
whose pattern of colors you want to map. object to create a jungle of lush vegetation.
When mapping a texture to the hair, the color of the individual strands The instanced geometry can be animated, such as its local rotation or
are derived from the texture color found at the root of the hair, so make scaling, or animated with deformations. This allows you to animate the
sure your map is painted accordingly. hair without needing to use dynamics, such as instancing wriggling
snakes on a head to transform an ordinary character into Medusa!
Unlike other geometry in XSI, hair is not a typical surface so you can’t
apply projections directly to it. Instead, you need to create a texture To render instances for the hairs, simply put the objects you want to
map property for the hair emitter object first, and then transfer it to the instance into a group, and each object in the group is assigned to a
hair itself. guide hair when you select options on the Instancing page in the Hair
property editor. The instanced geometry is calculated at render time so
To do this, apply a texture map to the hair emitter using one of the Get
you’ll only see the effect in a render region or when you render the
> Property > Texture Map commands, associate an image to this
frames of your scene.
projection to use as the map, then transfer the texture map from the
hair emitter to the hair object itself using the Transfer Map button on You can choose whether to replace the render hairs or just the guide
the Hair toolbar. hairs. You can also control how the instances are assigned to the hair
(randomly or using a weight map values), as well as control its
Transfer the texture orientation by using a tangent map or have the instances follow an
map from the hair object’s direction.
emitter to the hair
object using the
Transfer Map button. You can render
instances of 3D
objects as hair instead
of the hair’s geometry.
The instance objects
can even be animated!
Put the instance
objects in a group and
then select them on
the Instancing page
You can change the color of the hair using a
in the Hair property
texture map connected to the hair shaders’
editor.
color parameters.
220 • SOFTIMAGE|XSI
Rigid Body Dynamics
Basics • 221
Section 13 • Simulation
222 • SOFTIMAGE|XSI
Rigid Body Dynamics
Animation
The billiard ball is a passive rigid All billiard balls are assigned as
body whose rotation and active rigid bodies.
translation is animated to make it 1 When the white ball (circled) hits
move to the table’s edge. A
them, they all react to the collision.
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.
Simulation
Basics • 223
Section 13 • Simulation
224 • SOFTIMAGE|XSI
Rigid Body Dynamics
Hinge
Spring B
A
Fixed
Basics • 225
Section 13 • Simulation
Cloth Dynamics
The cloth simulator uses a spring-based model for animating cloth
• Shear controls the resistance to shearing, meaning crosswise stretching,
dynamics. You can specify and control the mass of the fabric, the keeping as much to the original shape as possible. Try to decrease this
friction, and the degree of stiffness, allowing you to simulate different value if the cloth’s wrinkling is too rigid.
materials such as leather, silk, dough, or even paper. • Bend controls the resistance to bending. With low values, the cloth moves
very freely like silk; with high values, the cloth appears like rigid linen or
Cloth deformation is controlled by a virtual “spring net” which is made even leather.
up from three different types of springs, each controlling a different • Stretch controls the resistance to stretching as it controls the elasticity of
kind of deformation: shearing, stretching, and bending. the material. Low values allow the cloth to deform without resistance,
while higher values prevent the cloth from having elasticity.
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 can also create
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, and set the Stitching
parameters in the ClothOp property
editor to create seams between the To give you a head start on creating cloth,
different NURBS surfaces of the there are a number of presets in the Cloth
same surface mesh model. property editor that let you quickly
simulate the look and behavior
of different materials, such as
leather, paper, silk, or pizza
dough.
226 • SOFTIMAGE|XSI
Cloth Dynamics
Basics • 227
Section 13 • Simulation
228 • SOFTIMAGE|XSI
Section 14
Shaders
A shader is a miniature computer program that
controls the behavior of the mental ray® rendering
software during, or immediately after, the rendering
process. Some shaders are invoked by mental ray to
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.
Basics • 229
Section 14 • Shaders
230 • SOFTIMAGE|XSI
The Shader Library
Environment Shaders
Environment shaders are
used instead of surface
shaders when a visible ray BBC “Everyman”: Animation by Aldis Animation
leaves the scene entirely
without intersecting an Toon Shaders
object or when the
maximum ray depth is Toon shaders apply non-
reached.They are used to photorealistic or cartoon style
create backgrounds for effects to objects. They control cel-
scenes, create quick- animation type properties like
rendering reflections, light inking and painting.
scenes with High Dynamic
To get a full toon effect, it’s best to
Range Images, and so on.
use the toon material shaders in
conjunction with the toon lens
shaders.
Shadow Shaders
Shadow shaders determine how the light coming from a light source is
altered when it is obstructed by an object. They are used to define the
way an object’s shadow is cast, such as its opacity and color.
Basics • 231
Section 14 • Shaders
Photon Shaders
Photon shaders are used for global illumination and caustics. They
process light to determine how it floods the scene. Photon rays are cast
from light sources rather than from a camera.
Material Phenomena
Material phenomena are predefined combinations of shaders, usually
designed to create complex rendering effects, that are packaged as
single shader nodes. Connecting a material phenomenon to an object’s
material prevents the material from accepting any other shaders
directly, though you can extend the phenomenon’s effect by driving its
parameters with other shaders. The Fast Subsurface Scattering and Fast
Skin shaders are examples of material phenomena.
Output Shaders
Output shaders operate on images after
they are rendered but before they are
written to a file. They can perform such
as glows, blurs, background colors, and
so on.
232 • SOFTIMAGE|XSI
The Shader Library
Basics • 233
Section 14 • Shaders
Connecting Shaders
There are a number of ways to connect shaders in XSI. Some tools • The Get > Shader menu has sub-menus for all of the object’s
allow you to connect shaders directly to an object’s material’s ports. Material node’s inputs—or ports. Each port sub-menu has a sub-
Others allow you to connect shaders to other shaders’ parameters. Still menu of its own listing shaders that you’re likely to connect to that
others are used to apply shaders to render passes or cameras. port. For example, the Surface sub-menu lists commonly used
surface shaders.
Toolbar Commands
You can connect shaders to objects’ materials, or to other shaders’
parameters, directly from the Render Toolbar. Choose Get > Shader
from the Render toolbar.
• The Get > Material menu lists commonly used surface shaders.
Choosing a shader from the menu creates a new material on the
Each port sub-menu connects
selected object and connects the chosen surface shader to the shaders to one of the material
material’s Surface, Shadow, and Photon ports. node’s ports.
234 • SOFTIMAGE|XSI
Connecting Shaders
• Type conversion shaders allow you to convert a shader’s output For example, a render pass has four shader stacks: one for environment
from one type of information to another. For example, the shaders, one for output shaders, one for volume shaders, and one for lens
Color2Scalar shader converts a shader’s color output into a scalar shaders. Cameras have a single shader stack which is used to apply lens
value. shaders.
• Color conversion shaders allow you to modulate color information Applies a shader to the
stack.
output from a given shader. For example, the Color Correction
shader adjusts the hue, saturation, level, gamma, and contrast of a Removes a shader from
shader’s color output. the stack.
• Simple math shaders allow you to perform basic mathematical Opens the selected
operations on the output of a given shader. For example, the Scalar shader’s property editor.
Share shader lets you share a a single scalar value between several
other shaders. Lists every shader
applied to the camera.
When you open a shader’s property editor, you can tell which of its
parameters are connected to other shaders via conversion shaders
because their connection icons are red and marked with a small “c”.
Basics • 235
Section 14 • Shaders
To open the render tree, choose View > Rendering/Texturing > Render Tree
from the main menu or press 7.
Shader Output
Every shader outputs information that can be
Shader Input Parameter Group used to control material attributes, or parameters
Nodes Menu Shader parameters in render tree nodes Parameters of complex of other shaders. The color of a shader’s output
Allows you to choose can be connected to other shaders. shaders are grouped to divot indicates the type of data that the shader
shaders to insert into the Parameters are color-coded to indicate save space. Groups can be outputs (color values, scalar values, and so on).
render tree workspace. what type of data they can accept. expanded or collapsed.
Material Node
This node is where you
connect the shaders
that define an object’s
look to the object’s
material.
236 • SOFTIMAGE|XSI
The Render Tree
The Material Node point to the left of the parameter’s name. The color of a connection
point identifies what type of input value the parameter will accept, and
Every object has a material node: without it, an object what type of value it will output.
wouldn’t render. This node acts like a placeholder for
every shader that can be applied to an object. Shaders The following table describes what type of value each input/output
can alter an object by invoking one or several of its color corresponds to:
shader input types: Surface, Volume, Environment,
Contour, Displacement, Shadow, Photon, Photon Input/
Color Result
Volume, Bump Map and so on. Output
Nodes and Codes Color Returns or outputs a color (RGB) value. These
input/outputs are usually used in conjunction with
Every shader node that appears in the render tree is the surface of an object or when defining a light or
camera.
color coded, as are each of its parameters. This coding
system helps you visualize which shaders are doing Scalar Represents a scalar input/output with any value
what within their respective render tree structures. between 0 and 1.
Texture shader Lens /camera shader Boolean Represents an input/output that corresponds to a
0 or 1, or On/ Off.
Lightmap shader Light shader Integer Consists of a single integer (such as 2, 73, or
300).
Environment shader
Texture/Image Accepts or returns an image file.
Clip
Click the arrow to expand Click the dot to create a
or collapse a node. connection arrow. RealTime Accepts connections from other realtime
shaders and outputs to other realtime shaders
or to the material node’s realtime port.
Selected nodes are highlighted in white.
Lightmap Outputs the result of a lightmap shader to the
Shader node inputs and outputs are also color coded. A node’s output Material node’s Lightmap port.
is indicated by a connection point (colored dot) in the top right of the Material Outputs the result of a material phenomenon
node, while each parameter’s input is indicated with a connection Phenomenon shader to the Material node’s Material port.
Basics • 237
Section 14 • Shaders
1 To begin with, the mug has a Since there are no other objects in the scene, the mug’s reflectivity is not
2
Phong shader connected to its apparent. Connecting an Environment map shader to the material node’s
material node’s Surface port to Environment port makes the reflectivity visible and creates some reflections
create basic surface shading — on the mug’s surface.
ambient and diffuse colors,
specular highlights, and, in this
case, some reflectivity as well.
3 Now it’s time to add some color and detail. Connecting two 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.
238 • SOFTIMAGE|XSI
Building Shader Networks
5 Finally, connecting an Ambient Occlusion shader between the Phong shader and the material node’s Surface
port darkens the mug where it occludes itself.
The Phong shader’s branch, which includes the textures, is connected to the Ambient Occlusion shader’s
Bright Color port, while the Dark Color is set to black.
The Ambient Occlusion effect is most visible on the inside of the mug and the inner surface of the handle.
Basics • 239
Section 14 • Shaders
The easiest way to open a shader’s property editor is to double-click the Presets are useful if you want to select a particular shader and modify
shader’s node in the render tree. some of its attributes, save the settings, and load them as a shader
preset for more than one object. It saves you from having to select each
shader and set the same parameters each time for other objects.
Keyframe controls
Color Box • To save a shader preset, open the shader’s property editor and click
Load and Save presets
the Save icon in the upper-right area of the property editor.
• To load a shader preset, open the shader’s property editor and click
the Load icon in the upper-right area of the property editor. A
browser will open, from which you can choose the preset to load.
You can find a number of shader presets in the Shader Presets toolbar
(choose View > Toolbars > Shader Presets from the main menu).
Connection icons for
controlling a parameter
by connecting it to a
shader.
You can apply these
A question mark means presets by simply
that another shader is dragging and
controlling this dropping them onto
parameter’s value. scene objects.
240 • SOFTIMAGE|XSI
Section 15
Basics • 241
Section 15 • Materials and Surface Shaders
About Materials
Every object needs a material. In XSI, the term “material” is used to When you assign a local material to an
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 XSI are material for that object only. If you
really just containers for, or connection points to, an object’s various remove or delete the object’s local
attributes. If an object’s material has no shaders attached to it, nothing material, the object inherits the default
defines the object’s look, and the object won’t render. scene material again. You can modify
the default scene material as you would
The easiest way to understand what a material is to Default Scene Material
any other material and the changes are
look at it in the render tree where it is represented by a
applied to any objects that inherit it.
Material node. The Material node (shown on the
right) lists all of the inputs to a given material. These If you delete the default scene material, the least recently created
inputs are sometimes referred to as “ports.” Each port (oldest) material in the scene becomes the new default material, and is
controls a subset of object attributes. When the assigned to all objects to which the previous default material was
material is assigned to an object, the shaders that you assigned (whether explicitly or through propagation).
connect to these ports alter the corresponding
attributes. Materials and Surface Shaders
For example, the Surface port controls object surface Surface shaders are some of the most commonly used shaders in XSI.
characteristics. By connecting a shader or a network Each one defines an object’s basic surface characteristics, like color,
of shaders to it, you can change an object’s color, transparency, transparency, reflectivity, specularity, and so on, according to a specific
reflectivity, and so on. The important thing to understand is that nearly shading model. Choosing the correct surface shader can go a long way
every change you make to an object’s appearance involves connecting towards helping you get the look you want.
shaders to the object’s material.
That being said, it’s worth noting that all new materials that you create
The Default Scene Material in XSI start out with some kind of surface shader attached to them. For
example, if you create a material from within a material library, it has a
Every new scene has a default material, called Scene_Material, which is Phong shader attached to its Surface, Shadow, and Photon ports. If you
assigned to the scene’s root in branch mode. An object (in a hierarchy create a material using a command from the Render toolbar’s Get >
or not) that does not inherit a material from a parent, and does not Material menu, you can choose a surface shader to attach to the
have a locally-defined material, inherits the scene’s default material. In material. This provides basic surface shading so that the material is
the explorer, you can view the default material in the material library’s renderable from the beginning.
hierarchy, or as a sub-node of the scene root, which you can display by
choosing Local Properties from the Show menu. By default, new materials
have a surface shader, like
the Phong shader shown
here, attached to them.
242 • SOFTIMAGE|XSI
Material Libraries
Material Libraries 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. You can
Most properties in XSI are owned by the scene elements to which create as many material libraries as you need in a scene.
they’re applied. Materials, on the other hand, belong to material
libraries. Material libraries are common containers for all of the The Default Material Library
materials in a scene. Each time you create a material, it’s added to a
material library. Although all of the materials in a scene belong to a By default, every new scene has a
library, they are used only by the objects to which they are assigned. material library called DefaultLib.
Initially, the library contains only the
You can view a scene’s material libraries by opening an explorer and default scene material, but all new
setting its scope to Materials. materials that you create in the scene are
added to the default library until you
Set the explorer scope to create or import a new library and set it as the current library.
Materials to view the
material library.
The Current Material Library
Unless you explicitly create a new material in another library, all newly
The current library’s node created materials are added to the current library. For example, if you
appears directly under the create a material using any of the commands in the Render toolbar’s
Materials node. Get > Material menu, it is added to the current library.
Basics • 243
Section 15 • Materials and Surface Shaders
• Choosing any surface shader from this menu creates a new material
with the chosen surface shader connected to its Surface, Shadow,
and Photon ports. The new material is assigned to the selected
object.
244 • SOFTIMAGE|XSI
Creating and Assigning Materials
The target depends on what was selected when you chose the Assigning Materials to Polygons/Polygon Clusters
command: one or more objects, a material, one material plus one
or more objects, components of an object (polygons, clusters of Using the same tools and techniques that you use to assign materials to
polygons, subsurfaces, etc.), or nothing at all. objects, you can assign materials locally to selections of polygons and/
or polygon clusters on a polygon mesh object. If you choose the
former, a cluster is created from the selection. The cluster’s local
Using the Explorer
material always overrides the one assigned to the entire object.
You can create materials and assign them to objects using the explorer.
• To create a material, right-click a material library and choose
Create Material from the menu.
A new material, consisting of a material node with a Phong shader
connected to its Surface, Shadow, and Photon ports, is added to the
library, but is not assigned to any objects.
• To assign a material, drag and drop the material onto any target
(object, group, cluster, and so on). This is useful when you want to Polygon mesh object with Object with specific Local material assigned
global material assigned. polygons selected. to selected polygons.
quickly assign a material to a single target.
The cluster’s
material is here.
Basics • 245
Section 15 • Materials and Surface Shaders
246 • SOFTIMAGE|XSI
Surface Shaders
Surface Shaders
Surface shaders are some of the most commonly used shaders in XSI. Lambert
Each one defines an object’s basic surface characteristics, like color,
Uses the ambient and diffuse
transparency, reflectivity, specularity, and so on, according to a specific
colors to create a matte
shading model.
surface with no specular
Shading models determine how an object’s surface reacts to scene highlights. It interpolates
lighting. Several different shading models are available. Choosing the between normals of adjacent
appropriate one can go a long way toward getting your objects looking surface triangles so that the
the way you want. Each shading model processes the relation of surface shading changes progressively,
normals to the light source to create a particular shading effect. creating a matte surface. The
result is a smoothly shaded object, like an egg or ping-pong ball.
Each of the following shading models is available from any toolbar’s
Get > Material menu. Blinn
Phong Uses diffuse, ambient, and
specular color, as well as a
Uses ambient, diffuse, and
refractive index for
specular colors. This shading
calculating the specular
model reads the surface
highlight. Blinn produces
normals’ orientation and
results that are virtually
interpolates between them to
identical to Phong except that
create an appearance of
the shape of the specular
smooth shading. It also
highlight reflects the actual lighting more accurately when there is a
processes the relation between
high angle of incidence between the camera and the light.
normals, the light, and the camera’s point of view to create a specular
highlight. Blinn is useful for rough or sharp edges and simulating a metal surface.
The specular highlight also appears brighter than the Phong model.
The result is a smoothly shaded object with diffuse and ambient areas
of illumination on its surface and a specular highlight so that the object Cook-Torrance
appears shiny, like a billiard ball or plastic.
Uses diffuse, ambient, and
specular color, as well as a
refractive index used to
calculate the specular
highlight. It reads the surface
normals’ orientation and
interpolates between them to
Basics • 247
Section 15 • Materials and Surface Shaders
248 • SOFTIMAGE|XSI
Basic Surface Color Attributes
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.
Basics • 249
Section 15 • Materials and Surface Shaders
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.
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 object’s
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.
250 • SOFTIMAGE|XSI
Reflectivity, Transparency, and Refraction
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.
Basics • 251
Section 15 • Materials and Surface Shaders
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.
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.
252 • SOFTIMAGE|XSI
Section 16
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.
Basics • 253
Section 16 • Texturing
A Blinn shader connected to the Surface port A texture shader connected to the
of the cow’s body’s material node. The hoofs, Surface port of the cow’s body’s material. Using the texture shader to drive the surface
horns, and so on are textured separately. Note that without a surface shader, the shader’s Ambient ad Diffuse colors produces a
lighting appears constant. textured cow that responds properly to lighting.
254 • SOFTIMAGE|XSI
Types of Textures
Types of Textures
XSI allows you to use two different types of textures: image textures, • An image clip is a copy, or instance, of an image source file. Each
which are separate image files applied to an object’s surface, and time you use an image source, an image clip of it is created. You can
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 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.
XSI’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 them. This means they can be
2D textures are wrapped around objects. 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. It is defined
3D textures are defined throughout an object.
as read-only and is listed in your scene in the Sources folder of the
Scene Root. It does not have to be reloaded when you re-open
your scene. Image sources can be stored within your project, or
outside of it.
Basics • 255
Section 16 • Texturing
Applying Textures
There are a number of ways to connect textures to objects in XSI. • Using the render tree, where you can choose a texture from the
These include: Nodes > Texture menu. Once you choose a texture, it is added to
the render tree workspace and you can connect it to the material’s
• Using the Get > Texture menu lists
or other shaders’ ports.
commonly used texture shaders that
can be connected to any
combination of a surface shader’s
ambient, diffuse, transparency and
reflection ports.
256 • SOFTIMAGE|XSI
Texture Projections and Supports
Basics • 257
Section 16 • 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 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 Spherical
258 • SOFTIMAGE|XSI
Texture Projections and Supports
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 • 259
Section 16 • Texturing
Texture image used Wireframe view of the Top view showing where
rendered frame. the texture is projected.
260 • SOFTIMAGE|XSI
Texture Projections and Supports
A Unique UVs projection was Using the Individual Polygon Packing method Using the Angle Grouping method produces “islands” of
applied to this sphere. produces UV coordinates that look like this: each polygons that can easily be healed back together in the
polygon’s UV coordinates separated from the rest texture editor, producing properly “unfolded” UV coordinates
of the coordinate set so it can be assigned to its for the sphere.
own path of texture.
Basics • 261
Section 16 • Texturing
• 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.
262 • SOFTIMAGE|XSI
Editing Texture Projections
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.
Basics • 263
Section 16 • Texturing
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.
264 • SOFTIMAGE|XSI
Editing UV Coordinates in the Texture Editor
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.
Connectivity Tabs
help you make sense of
Status bar displays the UV Active UVs are displayed in yellow with their points and the object’s UVs by
coordinates, pixel coordinates, bisectors visible. Only one set of UV coordinates can be highlighting boundaries
This character and his head are separate and RGBA values of the current active at a time, though multiple sets can be displayed. shared between of UV
objects, each with its own projection. Both mouse pointer position “islands”.
To change the active UV set, click one of the non-active
sets of UVs are shown in the texture editor. sets, or make it active from the UVs menu.
Basics • 265
Section 16 • Texturing
Texture Layers
Texture layering is the process of mixing several textures together, one after The parameters of the grid’s Lambert surface
the other, such that each texture is blended with the cumulative result of shader are represented in the base layers. In this
the preceding textures. In XSI, you can use this technique to build complex case, nothing is connected to the Lambert shader’s
effects by adding texture layers to an object’s material or its shaders. ports, so only the base colors are shown.
When you add a texture layer to a shader, one or more of that shader’s
parameters, or ports, is added to the layer. The layer is mixed on the
selected ports, in accordance with its assigned strength, or weight, using
one of several different mixing methods.
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 The first layer adds the basic sign texture to the
Ambient and Diffuse ports. The texture’s alpha
part of the base layer as well. For example, if you’ve connected a Cell channel is used to control transparency, cutting
texture to a Phong shader’s Ambient and Diffuse ports, the Cell texture is out the shape of the sign.
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. The second layer adds some rust. The rust
Because texture layers only affect designated ports, you can blend a texture is blended with the Ambient and Diffuse
number of layers with each of a shader’s attributes and create a complex ports according to its alpha channel, and a
effect for each. separate mask—in this case, a weight map.
266 • SOFTIMAGE|XSI
Editing UV Coordinates in the Texture Editor
Basics • 267
Section 16 • Texturing
The sphere shown here was bump- Consider the sphere shown here: even with
mapped using the texture shown below. a very high bump step, the bumping is not
A negative bump factor was used to convincing on the silhouette where there is
make the white 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.
268 • SOFTIMAGE|XSI
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.
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 • 269
Section 16 • 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.
270 • SOFTIMAGE|XSI
Baking Textures with RenderMap
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 • 271
Section 16 • Texturing
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.
272 • SOFTIMAGE|XSI
Section 17
Lighting
Without lights, it doesn’t really matter what your
scene looks like—you won’t be able to see it, plain
and simple!
Each light in a scene contributes to the scene’s
illumination and affects the way all objects’ surfaces
appear in the rendered image. You can dramatically
change the nature and mood of your images by
modifying lights and adding light effects.
Basics • 273
Section 17 • Lighting
Types of Lights
There’s a right type of light for every occasion. You can add Infinite (Default)
lights to a scene by choosing them from the Render
Infinite lights simulate
toolbar’s Get > Primitive > Light menu.
light sources that are
Every light type has its own special characteristics and is infinitely far from
represented by its own icon in 3D views. 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.
274 • SOFTIMAGE|XSI
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 lets you select from a list of spotlights
change any of the light properties.
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.
Basics • 275
Section 17 • Lighting
Intensity: 0.75
276 • SOFTIMAGE|XSI
Setting Light Properties
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 • 277
Section 17 • Lighting
The light is set to Inclusive. Now the Activates shadows for the light.
light source affects only the objects
listed in the Associated Models list
(only the King piece) and ignores the
rest.
You also need to make sure that the primary rays Type is set to
Raytracing on the Renderer > Rendering tab of the Render Manager.
278 • SOFTIMAGE|XSI
Creating Shadows
Basics • 279
Section 17 • Lighting
280 • SOFTIMAGE|XSI
Global Illumination
Basics • 281
Section 17 • Lighting
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 Renderer > GI
and Caustics tab in the Render Manager.
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.
282 • SOFTIMAGE|XSI
Final Gathering
Final Gathering
You can use scene objects’ visibility properties to precisely control how
Final gathering is a way of calculating indirect illumination without each object participates in final gathering calculations. Every object has
using photon energy, as with global illumination and caustics. Instead of the following three final gathering visibility parameters:
using rays cast from a light to calculate illumination, final gathering uses
• Caster: specifies whether or not an object casts final gathering rays
rays cast from each illuminated point on an object’s surface. The rays are
into the scene.
used to sample a hemisphere of a specified radius above each point and
calculate direct and indirect illumination based on what the rays hit. The • Visible to Sampling: specifies whether the object is visible to final
overall effect is that every object in the scene becomes a “light source” gathering rays cast by other objects. Turning this option off causes
and influences the color and illumination of the objects and final gathering rays to pass through the object.
environment surrounding it.
Turning this option off makes the Sampled option unavailable,
since an object that is not visible to sampling rays cannot be
Creating a Final Gathering Effect sampled.
Creating final gathering in a scene is more straightforward than • Sampled: specifies whether an object’s surface is actually sampled
applying caustics or global illumination. Most of the options that by final gathering rays cast by other objects. Turning this option off
control the final gathering effect for the mental ray renderer are on the causes the object to absorb final gathering rays.
Renderer > Final Gathering tab in the Render Manager.
Accuracy and Number of Rays are the two most important parameters
to consider when defining the final gathering effect.
Basics • 283
Section 17 • Lighting
Light Effects
XSI includes a variety of lighting effects that you can use to enhance the Different effects are applied differently. Some are applied as properties
realism of your scenes. Creating glows, flares, and volumic effects are of scenes, lights or objects, while others are defined by shaders in the
all ways to alter the look and mood of your rendered scenes. Effects like render tree. Either way, all of these effects can go a long way toward
ambient occlusion and subsurface scattering can help you create more making your scenes look just the way you want.
realistic surfaces.
In the background of the scene, you can see
The point light inside of this street lamp the effect of depth-fading. Even though it
uses a flare effect. Flares are created as affects the entire scene, the depth fading is
properties of scene lights. defined by a light’s volumic property.
This scene uses a variety of light effects to capture the feeling of a dimly lit alley on a foggy evening.
284 • SOFTIMAGE|XSI
Light Effects
Ambient Occlusion In XSI, you can create an ambient occlusion effect by connecting the
Ambient Occlusion shader in the render tree. This is most commonly
Ambient occlusion is a fast and computationally inexpensive way to done at the pass level to create an occlusion pass — like that seen in the
simulate indirect illumination. It works by firing sample rays into a image above — that can be added in and adjusted during compositing.
predefined hemispherical region above a given point on an object's You can also use the shader on individual objects to limit the occlusion
surface in order to determine the extent to which the point is blocked - calculation.
or occluded - by other geometry.
Once the amount of occlusion has been determined, a bright and a Fast Subsurface Scattering
dark color are returned for points that are unoccluded and occluded
In the real world, many materials are translucent to some extent and do
respectively. Where the object is partially occluded the bright and dark
not immediately reflect light at their surface. Instead, light penetrates
colors are mixed in accordance with the amount of occlusion.
the surface and is scattered inside the material before it is either
absorbed or transmitted. This effect, called subsurface scattering, can
also be used to enhance the realism of a wide variety of rendered
materials, even when used sparingly.
Basics • 285
Section 17 • Lighting
Image-Based Lighting
You can light your scenes with images using the Environment shader.
Like other environment shaders, this one 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.
Although you can use any image to light the scene this way, you will get
the best results using a High Dynamic Range (HDR) image. That’s
because HDR images contain a greater range of illumination than
regular images, making them better able to simulate real-world
lighting.
286 • SOFTIMAGE|XSI
Section 18
Cameras
Virtual cameras in SOFTIMAGE|XSI 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.
Basics • 287
Section 18 • 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.
All of the camera types listed here are available from the Render
Toolbar’s Get > Primitive > Camera menu.
Telephoto Orthographic
288 • SOFTIMAGE|XSI
The Camera Rig
Basics • 289
Section 18 • Cameras
290 • SOFTIMAGE|XSI
Setting Camera 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
custom picture standard with a picture ratio that you define. The
default camera format is NTSC D1 4/3 720x486, with a picture ratio of
1.333, but several standard NTSC, PAL, HDTV, Cine, and Slide formats
are also available.
The camera’s Vertical field of view was made large enough to accommodate
the entire building. The Horizontal field of view was automatically calculated
based on the aspect ratio.
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 • 291
Section 18 • Cameras
This is a camera with no clipping planes set—which means the resulting Applies a shader to
image (right) is every object in the scene. the camera.
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).
292 • SOFTIMAGE|XSI
Lens Shaders
The images below and beside show this scene Toon Ink Lens shader
rendered using three different lens shaders.
Basics • 293
Section 18 • Cameras
Motion Blur You can apply motion blur properties to groups if you wish to toggle
motion blur for several objects at once. You can also apply them to
Motion blur adds realism to a scene’s moving objects by simulating the cameras. This is useful when both the camera and scene objects are
blur that results from objects passing in front of a camera lens over a moving, but you only want the blur caused by the object’s movement.
specified period of exposure. In XSI, you can easily achieve a
photorealistic motion blur effect for every object and/or camera in Rendering Motion Blur
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.
In the Render Manager, set the motion blur Speed for the scene. This
setting 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 Motion Blur
To control motion blur for a specific object in a scene, you must 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
To create the motion blur shutter speed (middle), and finally (right) a very slow shutter speed (> 0.6).
property, select one or
more objects and choose You can also specify an Offset for the shutter’s time interval which
Get > Property > Motion allows you to push the motion blur trails, even extend them into later
Blur from the Render frames. Additionally, you can define where on the frame the blur is
toolbar. This creates a evaluated and rendered.
motion blur property for
the selected objects.
294 • SOFTIMAGE|XSI
Section 19
Rendering
After adjusting all of your lights and objects and
defining your camera settings, you’re ready to render
out your scene. Whether you’re rendering a single
frame or hours of animation, rendering a scene is like
developing a photograph. The process is often done
more than once and you will most likely have to
tweak and adjust your options to achieve the look
you set out to create.
Basics • 295
Section 19 • Rendering
Rendering Overview
The process or rendering out your scenes can vary considerably from 6. Composite and apply effects to passes using XSI Illusion, a fully–
project to project. However, there are certain general steps that you’ll integrated compositing and effects toolset. You can also use a post-
need to follow whenever you want to render a scene. Here is a typical production tool such as Avid®|DS.
sequence of tasks you might follow when rendering:
1. Set up render passes and define their options. XSI and mental ray®
Render passes let you render different aspects of your scene SOFTIMAGE|XSI uses mental ray as its core rendering engine. mental
separately, such as a matte pass, a shadow pass, a highlight pass, or ray is fully integrated in XSI, meaning that most mental ray features are
a complete beauty pass. You can define as many render passes as exposed in XSI’s user interface, and are easy to adjust — both while
you want: within each pass, you can create partitions of lights and creating a scene and during the final renderings. Full integration with
objects, then apply shaders and control their settings together. mental ray also allows artists to generate final-quality preview renders
interactively in 3D views, using the render region.
2. Set up render channels and define their options. These allow you to
output different information about the pass to separate files. Distributed Rendering
3. Set rendering options. Distributed rendering is a way of sharing rendering tasks among several
All objects, including lights and cameras, are defined by their networked machines. It uses a tile-based rendering method where each
rendering properties. For example, you can determine whether a frame is broken up into segments, called tiles, which are distributed to
geometric object is visible, whether its reflection is visible, and participating machines. Each machine renders one tile at a time, until
whether it casts shadows. Rendering properties can be set per pass all of the frame’s tiles are rendered and the frame is reassembled. By
as well. spreading the workload this way, you can decrease overall rendering
time considerably.
4. Preview the results of any modifications.
Once you’ve set up a distributed rendering network, rendering tasks are
The viewports can display your scene in different display modes, distributed automatically once a render is initiated on a computer. The
including wireframe, hidden-line removal, shaded, and textured. In initiating computer is referred to as the master and the other
addition, you can view any portion of your scene in a viewport and computers on the network are referred to as slaves. The master and
rendered with mental ray by defining a render region. Or preview a slaves communicate via a mental ray service that listens on a designated
full frame using Render Preview. TCP port and passes information to the mental ray renderer.
5. Render the passes and their render channels.
After previewing a few rendered frames, you can render on your
local computer or distribute the render across a network of
computers. You can render interactively using the options available
in the XSI interface, or from the command-line using xsi -render
(batch), xsi -script (batch with scripts), and the ray3.exe options.
296 • SOFTIMAGE|XSI
Render Passes
Render Passes
A render pass creates a layer of a scene that can be composited with any Each scene can contain as many render passes as you need. When you
other passes to create a complete image. Passes also allow you to first create a scene in XSI, it has a single pass named Default_pass. This
quickly re-render a single layer without re-rendering the entire scene. is a “beauty pass” that is set to render every element of the scene. You
Later, you can composite the rendered passes back together, making can create additional passes to render specific elements and attributes as
adjustments to each layer as needed. 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.
Basics • 297
Section 19 • Rendering
298 • SOFTIMAGE|XSI
Render Passes
Setting the Pass Camera Viewing Passes and Partitions in the Explorer
You can specify the camera you want to use for each render pass. The In the explorer you can set the scope to Passes (press P) to see a hierarchical
active camera provides the viewpoint from which the pass is rendered. list of all of the render passes in your scene, their contents, and their
properties.
To set the current pass’ camera, choose Render > Render Manager to
open the Render Manager for the current pass. On the Output >
Output page, choose a camera from the Pass Camera list, which lists all Set the scope to
Passes Click to edit the pass’
of a scene’s cameras. render options.
In the explorer, a Pass Camera node appears as a sub-node of each Pass list
folder Click to define the
render pass. This doesn’t signify that a new camera is created with each
pass’ camera options.
pass: the Camera node represents the camera for that pass only. Render passes
Background partitions
Creating Partitions usually contain
objects that aren’t
A partition is a division of a pass that behaves like a group. There are modified in the pass.
two types of partitions: object and light. Light partitions can only
contain lights, and object partitions can only contain geometric Current pass
objects.
Placing objects in partitions allows you to control their attributes by Objects Partitions
modifying them at the partition level rather than at the individual Lights partitions
object level. The modifications affect only the objects in the partition
for the specific render pass to which the partition belongs. This allows
you to change object attributes on a per-pass basis.
Each pass has at least two default partitions: a background objects
partition that contains most or all of the scene’s objects, and a
background lights partition that contains most or all of the scene’s
lights. You can add as many additional partitions as you need for a
pass, but an object can only be in one partition per pass.
You can create an empty partition by using the Pass > Partition > New
command on the Render toolbar and then add elements to it. Or you
can select some objects and choose the same command to create a
partition that automatically includes these objects. Either way, you can
add objects to a partition, or remove objects from one.
Basics • 299
Section 19 • Rendering
Applying Shaders to Passes and Partitions Overrides are often used with render passes to get control over a
specific parameter. When using the pass presets (such as highlight,
You can apply environment, volume, and output shaders to an entire caustic, and RGB Matte), overrides are used to isolate specific attribute
pass using the shader stacks in the pass’ property editor. or areas of your scene. Shader overrides are extremely useful if you
When you apply shaders to partitions, they override the shaders want to add properties to an existing material. Using the example
applied directly to objects in the scene, but only for the pass. This below (texturing a specular value), if you were to apply the texture
means you can change the properties of objects in a particular pass directly to the partition (no override) it would replace any textures or
without losing the properties of objects as defined for the whole scene. materials assigned to your objects.
Once you have applied a shader to a partition, you can open its
property editor and change values as necessary. Objects with a texture and diffuse,
ambient, and specular values).
Notice how the dinosaur has a texture
Applies a shader with a bump map applied. If your
to the camera. client suddenly asks you to make all
of the dinosaurs in your scene black,
there is no need to start from scratch.
Removes a shader
from the stack.
300 • SOFTIMAGE|XSI
Setting Render Options
Basics • 301
Section 19 • Rendering
Render Channels The advantage of using render channels is that they are easy to define
and quick to add to any pass. Preset render channels allow you to
Render channels are a mechanism for outputting multiple images, each isolate scene attributes that are commonly rendered in separate passes.
containing different information, from a single pass. When you render You do not need to create complex systems of partitions and overrides
the pass, you can specify which channels should be output in addition to extract a particular scene attribute. All you need is your default pass
to the full pass. By default a Main render channel is declared for every and you can quickly output the preset diffuse, specular, reflection,
pass (you can think of it as the “beauty” channel rendered for each refraction, and irradiance render channels.
pass). You can use these images at the compositing stage, the same way
you would use any render pass. In effect, render channels allow you to turn a single pass into multiple
passes without any complicated setup work.
302 • SOFTIMAGE|XSI
Selecting a Rendering Method
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
rendered point-by-point and scanline-by-scanline, rather than object-
by-object. Scanline rendering is faster than raytracing but does not
produce as accurate results for reflections and refractions.
Basics • 303
Section 19 • Rendering
304 • SOFTIMAGE|XSI
Different Ways to Render
Basics • 305
Section 19 • Rendering
Previewing a Single Frame • To render the current pass, click the Render Pass > Current button
in the Render Manager, or choose Render > Render > Current Pass
The Render > Preview command in the Render toolbar lets you from the Render toolbar.
preview the current frame at fully rendered quality in a floating
window. The frame is rendered using the render options for the • To render a selection of passes, select the passes in the explorer and
current render pass or using the render region options defined in any click the Render Pass > Selected button in the Render Manager, or
of the four viewports. choose Render > Render > Selected Passes from the Render
toolbar. The passes are rendered one after the other.
ray3.exe Rendering
You can also render scenes using the mental ray standalone — ray3.exe
from a command line. Although many of the ray3.exe commands are
available in the XSI interface, you may want to use the ray3.exe
command line tool to manually override options in exported MI files.
Ray3.exe lets you read and render MI2 files that you can export from
XSI. You can edit the MI2 files to define extra shaders, create objects,
Rendering to File from the XSI Interface swap textures, or perform other special effects.
Once you’ve set the render options for the render passes in your scene, To rendering with the ray3 executable, you need to export a scene to
you can render those passes directly from the XSI interface. Since the the MI2 file format, then run the ray3 executable from the command
options are set, all you need to do is start the render. You have several line to render the scene from the MI2 files.
options, among them:
• To render all of your scene’s passes, click the Render Pass > All
button in the Render Manager, or choose Render > Render > All
Passes from the Render toolbar.
306 • SOFTIMAGE|XSI
Section 20
Compositing and
2D Paint
XSI 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 XSI 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
XSI’s scripting and animation features, and support
clips and sources, as well as render passes.
Basics • 307
Section 20 • Compositing and 2D Paint
XSI Illusion
The XSI Illusion toolset consists of three core views: the FxTree, where There is also a compositing layout available from the View > Layout
you build networks of effects operators; the Fx Viewer, where you menu. It contains the three core Fx tools arranged in a way that makes
preview the results; the Fx Operator Selector, a powerful tool that it easy to build and preview effects.
allows you to insert pre-connected operators into the FxTree.
Using this layout for compositing and effects work is usually more
Each of these views can be opened in a viewport or as a floating view efficient than simply opening the required views in viewports because
(choose View > Compositing > name of view from the main menu). the non-compositing tools and views are mostly hidden.
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.
308 • SOFTIMAGE|XSI
Adding Images and Render Passes
Basics • 309
Section 20 • Compositing and 2D Paint
310 • SOFTIMAGE|XSI
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.
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 XSI
You can also perform various operations like inverting, compositor’s three sets of Painterly Effects operators let
images, premultiplying images, and so on. you apply effects like Chalk & Charcoal, Watercolor, Bas
Relief, Palette Knife, Stained Glass, and many more, to
images in the FxTree.
Basics • 311
Section 20 • Compositing and 2D Paint
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.
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
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.
312 • SOFTIMAGE|XSI
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 and output it to a variety of different image formats using a File
You can also render effects non-interactively using XSIBatch. Make
Output operator.
sure that your script contains the following line:
The File Output property editor is where you set all of the effect’s
RenderFxOp "OutputOperator", False
output options, including the picture standard, file format, and range
of frames. where OutputOperator is the name of the FileOutput operator that
you want to render. The False statement specifies that the Fx Rendering
dialog box should not be displayed during rendering.
Once you’ve set the output options, all you need to do is click the
Render button to start the rendering process. In the Softimage|FX
Rendering window, you will get information regarding the rendering of
the sequence.
Basics • 313
Section 20 • Compositing and 2D Paint
2D Paint
XSI’s compositing and Effects toolset includes a 2D paint module You work with paint operators the same way you work with other Fx
which offers 8 and 16-bit raster and vector painting. To paint on operators, making it easy to touch up images, fine-tune effects, edit
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.
314 • SOFTIMAGE|XSI
Vector Paint vs. Raster Paint
Basics • 315
Section 20 • Compositing and 2D Paint
Choose a
3 Choose a paint tool from
brush category
the Fx Viewer’s Draw menu.
from the
brush-type list.
316 • SOFTIMAGE|XSI
Painting Strokes and Shapes
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 • 317
Section 20 • Compositing and 2D Paint
After
Merge Source
318 • SOFTIMAGE|XSI
Section 21
Customizing XSI
You can extend XSI in a variety of ways by
customizing it. Many customizations are too
involved to cover here, but you can get more details
in the XSI Guides and SDK Guides.
Basics • 319
Section 21 • Customizing XSI
Plug-ins and add-ons can be managed using the Plug-in Manager. If you want to install the add-on in a different workgroup, go to the
Workgroup tab and move that workgroup to the top of the list. You
Plug-in Manager can install add-ons only in the first workgroup.
The Plug-in Manager is the central location for managing your 2. In the Select Add-on File dialog box, locate the .xsiaddon file you
customizations. You can display the Plug-in Manager using File > want to install, and click OK.
Plug-in Manager or in the Tool Development Environment (View >
Layouts > Tool Development Environment). • You can also install an add-on by dragging an .xsiaddon
file to an XSI 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.
320 • SOFTIMAGE|XSI
Toolbars and Shelves
Basics • 321
Section 21 • Customizing XSI
Proxy Parameters
Proxy parameters are similar to custom parameters, but with a
fundamental difference. Custom parameters 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
322 • SOFTIMAGE|XSI
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.
Basics • 323
Section 21 • Customizing XSI
- 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.
324 • SOFTIMAGE|XSI
Scripts
Scripts
Scripts are text files containing instructions for modifying data in XSI.
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.
Basics • 325
Section 21 • Customizing XSI
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.
326 • SOFTIMAGE|XSI
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 XSI:
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 XSI. You can create layouts
To see key conflicts with other windows, select View and choose a 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 XSI.
• Synoptic views allow you to 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 XSI, see the SDK Guides, as
well as Customization in the XSI Guides.
Basics • 327
Section 21 • Customizing XSI
328 • SOFTIMAGE|XSI