Version 5.0

This section provides a detailed summary of the new features and enhancements available in XSI version 5.0:

Commands and Interface

Shape Animation

Working with Scene Elements



Rigid Bodies

Data Management


Basic Modeling and Deformations


Polygon Mesh and Subdivision Modeling

NURBS Modeling



Character Animation




Commands and Interface

Main Interface

There have been numerous small changes to the main interface:

• You can switch between various preset arrangements of the viewports using the buttons at the lower left.


• You can switch between the main command panel and the keying panel with layer control using the MCP and KP/L buttons at the lower right.

• Many panels are now optional. You can hide or display them using the items on the View > Optional Panels menu.

Interaction Model

You can now set the interaction model at any time from the File > Interaction Model menu. In addition, QWERTY Tools and Alt Camera Navigation is a new interaction model that may be useful for users who are transitioning from other software.


The camera navigation tool works consistently across all views, including when using the QWERTY Tools and Alt Camera Navigation interaction mode.

Orbiting Around Selections

You can set the orbit tool to obit around selected objects or components, rather than around the normal camera interest.

Main Menu

There have been numerous changes to the main menu at the top of the XSI window:

• The View menu has been renamed to Display. Its contents remain the same.

• The Application menu has been renamed to View, and submenus have been created to organize the different types of views available according to their typical usage. Other commands previously found on the Application menu are now available from the Plug-in Manager.

• The toolbars on the left side of the interface are now also available as buttons on the main menu.

• The Construction Mode list has moved from its home at the bottom of the left side of the interface up to the main menu.

• The Passes list is now also available on the main menu (it’s also still available in the Render toolbar).

• All XSI documentation is now available from the Help menu. This includes the reference information, user guide, and SDK guides.

Reactivating the Last Auxiliary Tool

To reactivate the last auxiliary tool, press , (comma). This reactivates the last tool used in sticky mode, other than the Select, Translate, Rotate, Scale, or Navigate tools.


The current viewport — that is, the last viewport you clicked in — is highlighted with a white border. This is the view that is rendered when you use the Render toolbar’s Render > Preview > Active Camera command. The current viewport and its properties can be retrieved by scripts and plug-ins for various purposes.

Object View

The object view’s layout has been modified to make it look more like a viewport. The object view also has its own memo-cams now.

Scene Explorer

You can press Shift while clicking on (+) or (-) in an explorer to expand or collapse all from that point.

Minimizing Floating Views

Minimized views are represented as small titlebars along the bottom of XSI’s main window. You can drag them to new locations.

In addition, you can now minimize floating property editors.

Tear-off Menus

You can tear off most menus and submenus in XSI so that they stay in floating windows that you can move around the interface as you like.



• The Get > Light and Get > Camera menus have been turned into sub-menus of the Get > Primitive menu.

• The Hair panel has also joined the ranks of the regular toolbars—just press Ctrl+2.

Working with Scene Elements

User Keywords

You can add keywords to namable elements such as objects, clusters, materials, and so on. This allows you to classify and identify elements according to any criteria you choose. You can use these keywords in your own customizations, such as custom filters.

In addition, you can also search for objects by keyword.

Point Size

There is a new option Point Size in the Display preferences. It sets the display size of geometric points in pixels.

Parameter Maps

Parameters that previously supported only weight maps, like the amplitude of deformations, now support texture maps, vertex color properties, and other cluster maps.

Weight Maps

There is a new option in the Brush properties: Show Property Maps controls the display of weight maps while the paint tool is active. If it is off, maps are displayed only while the mouse button is held down during a paint stroke.


Layers have been updated to improve workflow and add functionality. The layers panel has been removed from the main command area in the default layout, while the layer control has been added to the KP/L panel.

Also, the layer control is no longer a single-instance view, so you can have more than one layer control open at a time.

Lastly, several new commands have been added to the layer control menus to make working with layers easier, including a preferences panel to set layer control preferences.


Setting the Pivot Interactively

The Transform > Modify Object Pivot option controls whether the Alt key modifies the tool pivot or the object pivot when transforming interactively.

Cycling Through the Transformation Tools

Once a transformation tool is active, you can press Tab to cycle through them or Shift+Tab to cycle backwards.


You can nudge elements to translate them by a very small amount. This is useful when performing fine adjustments to the position of objects, components, and clusters.

Transforming Hidden Objects

The new option Transform Hidden Objects in the Transform preferences that allows you to translate, rotate, and scale hidden objects. Turning this option off prevents you from accidentally selecting and transforming hidden objects without realizing it. Turning it on makes it easier to work with transform groups, as well as hidden objects that are inputs for modeling operations.

Data Management

Referenced Models

Running a Script Before a Referenced Model is Unloaded

There is a new callback you can include in the postload script file specified in a model clip’s property editor. If the script file contains a procedure called RefModel_PreModSave, that procedure is run automatically before a model is unloaded and local modifications are saved, whenever updating the model, offloading the model, switching resolutions, or saving the scene.

Referenced Models and Constraints

You can use constraints between objects in different referenced models, even if objects with those names do not exist at every resolution. Note that in this situation, you should select all affected models and change their resolution at the same time. This allows the constraints to be properly stored. Otherwise, the constraints will not be present when the original resolution is reloaded.

Referenced Models and Materials

If the current pass has an override on the material, materials will be duplicated instead of shared. However, they will be shared correctly as soon as the override is deactivated and the referenced model is updated.


You can set an instance’s various visibility options to Ignore, instead of just toggling them on or off. This means that the instance inherits the master’s setting.

The Instance Master Hidden option in the visibility properties allows you to hide an object when rendering if it is part of a master model hierarchy. This is especially useful with particle and hair instancing, where you often don’t want the master hierarchy in the rendered images.

Determining the License Required by a Scene

The <LicenseRequired> element of the <SceneInfo> element in the scene TOC file contains the license required by the features used in the scene. This information is useful if you want to batch-render scenes on a farm that has a mixture of licenses.

Cycle Checking

There have been various improvements to cycle checking particularly in terms of speed. In addition, there is a new option Disable cycle checking when applying animation operators on the Scene Recovery tab of the Data Management preferences. This suppresses checking for evaluation cycles when creating constraints and expressions. This may be useful for avoiding unwanted warning messages in some types of rigs where cycles are desired. Note that cycle checking is always performed when applying topology operators, connecting weight maps, and moving operators.

Importing and Exporting

XSI provides a number of importers and exporters as a part of its default import/export options (available from the File > Import and File > Export menus). However, XSI also supports many other file types such as audio, video, various graphics and middleware formats, and specialized scene elements such as function curves, actions, etc.

dotXSI 5 and the FTK

You can import and export scene data to the new dotXSI version 5.0 file format. XSI now supports dotXSI version 3.0, 3.5, 3.6, and 5.0.

You can quickly import a dotXSI file by dragging and dropping it directly into an empty viewport. The version of the file is detected automatically and the appropriate importer opens to provide options that control how the scene data gets imported.

To take full advantage of the dotXSI file format, use the SOFTIMAGE|XSI FTK (File Transfer Kit) which is now bundled with a standard XSI installation.

The dotXSI exporter now includes the fully-qualified mesh name inside the XSI_ShaderInstanceData template. This allows you to determine which shader instance is being referred to when two or more models have meshes with the same name and material.

See Help > SDK Guides > FTK Developer’s Guide for detailed information on the dotXSI file format and the File Transfer Toolkit.

Wavefront OBJ Import Options for Pixologic® ZBrush®

You can import and export files saved in OBJ format (the Wavefront Object file format). In addition, the Wavefront OBJ importer now provides dedicated options for importing complex ZBrush® geometry and displacement maps for rendering in XSI.


The DirectX convertor plugin is now a part of XSI’s default import/export options. You can import and export scenes saved in the DirectX format (*.x) which can contain data about meshes, textures, animation and so on.


You no longer need to restart XSI after switching to tab-style property editors.

External Files Manager

The Source Paths tool has been replaced with a new view called the External Files Manager. The external files manager allows you to perform tasks like updating paths to external files, copying external files to different projects, managing files that are part of an NXN alienbrain database, and so on.


Basic Modeling and Deformations

Choosing the Connection Point

When an object is generated from others, you can choose the connection point from which to “read” the input geometry and other attributes in the operator stacks of the input objects.

Automatically Generating UV Coordinates

When you generate surfaces or polygon meshes from curves, you can automatically generate explicit texture UV coordinates. The UVs created in this way are evenly spaced according to the number of segments (edges or knot curves) in each direction.

Generalized Attribute Transfer Operator (GATOR)

You can transfer and merge clusters with properties from object to object. The cluster properties that you can transfer in this way include materials, texture UVs, vertex colors, property weight maps, envelope weights, and shape animation.

You can transfer these attributes when generating a polygon mesh object from other polygon meshes. You can also apply GATOR to transfer attributes between any objects, whether they are polygon meshes or NURBS surfaces.

Proportional Modeling

Proportional modeling now works when manipulating edges and polygons, as well as points. In addition, there are a couple of new options in the Proportional property editor:

Falloff (Bias) biases the profile curve to change the rate of falloff. It provides a quick way to change the amount by which neighboring points are affected without modifying the profile curve itself.

Calculate Distance Using Neighboring Edges uses edge length to calculate the distance when Consider Neighborhood is on. This is useful when working on protuberances like fingers, because a large number of components do not suddenly become affected when the radius increases to encompass the base of a finger.

Tweak Component Tool

The Tweak Component tool allows you to translate, rotate, and scale points, polygons, and edges. You can use it in two ways:

• Click-and-drag components for a fast, uninterrupted interaction.

• Select a component and then use then manipulator for a more controlled interaction.

In addition, Tweak Component allows you to slide components.

If you prefer, you can still access the Move Point tool by choosing it from the Modify > Component menu or assigning it to a key.

View Plane Proportional Transform Tool

The View Plane Proportional Transform tool uses a brush with a proportional falloff to translate, rotate, and scale components. It is in fact same as the Brush on the Hair panel, but it can be used on polygon meshes, NURBS surfaces, curves, and lattices as well as hair.

View Plane Pivot Transform Tool

The View Plane Pivot Transform tool lets you translate, rotate, and scale both objects and components using the mouse pointer as the pivot. It can be used with proportional modeling as well as snapping.

Fold Deformation

Fold wraps the extremities of an object towards an axis. You can control the axis, the type of fold (linear or spherical/cylindrical), and the degree of folding in the primary and secondary planes.

New Shrinkwrap Options

The shrinkwrap deformation has new projection methods:

Closest Vertex snaps each point of the wrapper object to the nearest vertex on the target object.

Closest Surface projects each point of the wrapper onto the nearest location anywhere on the surface of the target.

Closest Surface (Smoothed) is a variation of Closest Surface that avoids collapsing multiple points to the same location, especially near sharp edges.

In addition, the Bidirectional option projects the points of the wrapper object both backwards and forwards to see whether they hit the target object. If a point hits the target in both directions, the shortest distance is used.

Smooth Direction

The Restrict Direction options on the Advanced Settings tab of the Smooth deformation property editor allow you to restrict the smoothing effect to a specific direction.

Display Options

There are a couple of new display options in the Transform preferences:

Show Points in Move Point Tool controls the display of points when using the Tweak Component, Move Point, and Weld Point tools.

Show Proportional Falloff controls the display of highlighted components when using Proportional modeling.

Polygon Mesh and Subdivision Modeling

Curve to Mesh

The Curve to Mesh converter has a new option: Update with input transforms. This recalculates the mesh when the input curves are transformed. Leaving this option off prevents potentially long computations when the curves are moved.

NURBS to Mesh

The NURBS to Mesh converter now supports trim curves. There is an option to ignore trims, as well as to control the accuracy around trims.

Shrinking the Selection

Shrinking deselects components that are adjacent to unselected components or that are on boundaries.

To shrink the selection

• With points, polygons, or edges on a polygon mesh selected, choose Select > Shrink Selection.

Weld Point Tool

The Weld Point tools allows you to interactively snap and weld pairs of points. You can still use the Move Point tool with the Alt key if you prefer.

Subdivision Surfaces

Loop Subdivision

With the Catmull-Clark and linear subdivision methods, you now have the option of using Loop subdivision for triangles. The Loop method subdivides triangles into smaller triangles, giving better results than quad-based methods.

Subdivision Surfaces and Texture UVs

There is a new option Smooth when subdividing in the Texture Projection property editor. You can unset this option to maintain compatibility with other 3D software that does not smooth the UV coordinates when subdividing, or for specific cases where unsmoothed UVs look better.

Subdivision Rule

The Rule parameter has moved from the Geometry Approximation property editor to the Polygon Mesh property editor (above the operator stack).

NURBS Modeling

Drawing Bézier Curves

There are new commands to draw cubic curves with Bézier knots (multiplicity 3): Create > Curve > Draw Cubic by Bezier-Knot Points and Modify > Curve > Add Point Tool by Bezier-Knot Points.

Tweak Curve Tool

The Tweak Curve tool allows you to manipulate curves in a Bézier-like manner. In addition to Bézier knots, you can manipulate non-Bézier knots, control points, and isopoints.Tweak Curve is accessible by pressing m when curves are selected, but you can still access the Move Point tool from the Modify > Component menu.

Breaking and Aligning Tangents

The Modify > Curve menu contains various commands to help you break and align tangents on Bezier knots.

Raising the Degree of Curves

You can raise the degree of curves. For example, you can convert a linear curve to a cubic in order to add a curved segment to it. The existing trace is preserved when you raise the degree.


Keying Panel

Using the keying panel, you can quickly and easily set keys for the selected object. It lets you work efficiently because you display only the parameters you want for keying. And because of this, the keying panel takes up a small amount of your XSI work space.


Keying Preferences

You can now set an animation preference as to which type of parameters are keyed by default: marked parameters, keyable parameters (in the keying panel), or marked keyable parameters.

Keys in the Timeline

You can view and edit keys in the timeline similar to how you do in the dopesheet. The advantage of doing this in the timeline, of course, is that you don’t need to open up a separate editor: the keys are right there. This lets you keep the object that you’re animating in full view at all times.

Once you have selected an animated object, you can copy and paste its keys, move its keys, and scale a region with keys, all within the timeline.


Time Range Slider

The time range slider has changed significantly for this version.

Parameter Connection Editor for Linking Parameters

The parameter connection editor allows you to quickly and easily create and edit linked parameters. In this editor, you can create simple links with one driving parameter, create links with multiple driving parameters, or create simple “equal to” expressions.


Removing Static (Flat) Fcurves

The new Animation > Remove Animation > from All Parameters, Static Fcurves command (in the Animation panel) removes fcurves that have no animation on them anymore (fcurves that are flat or static).

Navigation Tool

The navigation tool is now available in the fcurve editor, dopesheet, and animation mixer for interactive zooming and panning in various ways. Just press S and check the mouse line for which button does what (it varies a bit between editors). You can also press the Ctrl and Alt keys in combination with this tool for different functions.

Summary Track in Dopesheet

The dopesheet now has a summary track that shows the keys for all objects displayed in the dopesheet. This makes it easy to branch-select a whole character to display the keys on all animated parts. Or branch-select the scene root or a model node to display all keys on all objects in the scene or model to retime the entire animation.

You can display the frame numbers on this track by choosing Edit > Display all frames for summary track.


Curve Constraint

The new curve constraint (choose Constrain > Curve (Param) from the Constrain panel) constrains the displacement of an object based on the U value of a constraining NURBS curve. Much like a curve-based path, the curve constraint orients the Y axis of the constrained object according to the normal value of the NURBS curve at its U parameter value. This allows the constrained object to closely follow the surface or curve.

The Curve (Param) constraint is not the same as the Curve (Path) constraint, which is used for path animation that is based on the percentage of the path that the constrained object has traveled.

Controlling Flipping with Path Animation

There is a new option on the Up Vector page in the Path constraint property editor (choose Create > Set Path from the Animate toolbar): Point along Path Roll Frame Normal.

This option constrains the up-vector of the constrained object to the roll-frame normal of the path curve instead of constraining it to a separate control object or direction (as defined by the Point At options on the Up Vector page). The roll frame normal is a frame based only on the moving tangent of a path curve.

When you select this option, the Point At options become unavailable.

Because this option defines the up-vector direction independently from a separate control object or direction, this can help prevent the constrained object from flipping in cases where the trajectories of the path curve and the up-vector control object would cross.

Default Frame Rate and Format

You can now change the scene’s default frame rate and format from the Output Format Preferences property editor instead of from the Time Preferences property editor.


• The Update button that was in the Playback panel has become a submenu in the Playback menu called Playback Update Mode. Select an option from this menu to determine which type of objects are updated during playback.

• The Limit Max Playback Rate to Scene Frame Rate option has moved from the Display preferences property editor to the Interaction preferences property editor.

Offsetting the Audio While Scrubbing

In the Interaction preferences property editor (choose File > Preferences and select Interaction or choose Playback/Audio Preferences from the Playback panel), there is a new option on the Playback and Audio page called Play Frame Entered When Scrubbing.

This option is a toggle that changes the audio behavior when scrubbing the playback cursor forward in the timeline, which can help you synchronize your audio with the animation.

• When this option is off (default), the audio is played after the cursor has passed over the frame when you’re scrubbing: it is not played at the beginning of the frame.

• When you select this option, instead of playing the audio segment on the frame that the cursor has just passed over, XSI instead plays the audio segment on the frame that the cursor enters. For example, if you are scrubbing from frame 1 to frame 2, XSI plays the audio segment on frames 2 to 3 instead of the segment on frames 1 to 2.

Character Animation

Transform Groups

When you’re working with hierarchies, especially characters, you often create a null to be a parent of the whole hierarchy. To make this parenting process easy, you can create a transform group by choosing Edit > Create Transform Group. This creates a null that becomes parent of the selected objects. This null is not visible in a 3D view, by default, but you can make it visible by selecting Transform Groups from the eye icon in a viewport.

Locking Envelope Weights

You can lock or “hold” the values of envelope weights to prevent them from being changed. If you need to modify them later, you must first unlock them.

Locking prevents you from accidentally modifying points that you have carefully adjusted when you are working on other points. It is also useful for setting exact numeric values while keeping Normalize on so that points don’t inadvertently become partially weighted to no deformer.

Chain Element Display Size and Shadows

There are several additions to how chain elements are displayed:

• You can change the display size of bones, roots, and effectors.

• There are several new display shapes available for these elements and their shadows.

• You can change the color of the shadows.

• You can add a shadow to any null object.


Shape Animation

Shape Menu Changes

The Deform > Shape menu on the Animate toolbar has been revamped to be shorter and more efficient.

• The Save Shape Key command is now called Store and Apply Shape Key.

• The Connect Weight Map command is now more descriptively called Modulate Shape Key with Weight Map.

• Many menu commands that used to be in the Shape menu are now only in the Shape Animation preferences property editor. You can open this property editor by choosing Deform > Shape > Preferences or File > Preferences from the main menu and selecting Shape Animation.

The Shape Editor

The shape editor provides you with an environment for creating, editing, and animating shapes. To help you work efficiently, you can see the results of the changes as you make them.



Command Name Changes in the Simulate Toolbar

• The Create > Particles > From Selection > Disc/Sphere/Cube/Grid command in the Simulate toolbar is now Create > Particles > From Selection > Primitive > From Disc/Sphere/Cube/Grid.

• The Create > Soft Body command in the Simulation toolbar is now Create > Soft Body > From Selection.

Particle Type in the Render Tree

When you select particles and open a render tree, the particle type is now automatically displayed instead of the particle cloud’s Material node.

Particle Goals

• The particle goal behavior called Hooke’s Law is now called Spring. It still works the same way as before.

• You can offset the goal object’s target so that the particles don’t aim exactly for the target as they move toward the goal. This is particularly useful when you set a variance for the Offset X/Y/Z values to make the particles move more randomly toward the target on the goal object.

The Offset Reference determines the reference point from which the target is offset from the goal object: world (global center), the goal object itself, or the goal object’s points.


Toric Force

The toric force is similar to an eddy except that it is in the shape of a torus (or donut, if you prefer). It simulates the effect of a vacuum or local turbulence by creating a vortex force field inside the torus. Anything that is inside the torus is affected by the force. This force is useful for making billowing effects in smoke simulations or having particles “sucked” through a tube to follow a path (if the torus is open-ended).


Rigid Bodies

Editing Simulation Properties

New command Modify > Rigid Body > Simulation Properties in the Simulate toolbar opens up the Dynamics Operator and Simulation Time Control property editors.

Viewing Simulation Information

You can now display the simulation/cache information of the current simulation environment in the lower-left corner of a viewport. The information shown is the start and end of the simulation, the last frame that has been cached, whether the cache is on, and whether the cache is locked.


Locking the Simulation Cache

Once you have created a cache, you can lock it so that its contents can’t be resimulated. Select the Lock Cache option in the Simulation Time Control property editor for the simulation environment.

physX Dynamics Engine

You now have the choice between two dynamics engines for simulating rigid bodies in XSI: the AGEIA™ physX™ dynamics engine (the default) or ODE (Open Dynamics Engine). While the two are similar in some ways, there are also important differences that can affect your decision.

Collision Geometries with physX

There are two important types of collision geometries available with the physX dynamics engine:

• Convex hull collision geometry is similar to a box shrinkwrapped around an approximated shape of the rigid body. In most cases, convex hulls produce accurate collisions that resemble the actual shape of the rigid body with the advantage of being faster and more stable than actual shape collisons.

• When you select the Actual Shape option for the collision geometry, you create collision data which lets you define more accurately how the collision geometry is applied to the rigid body. You can set the level of detail of this data. The collision data is based on the rigid body’s actual shape collision volume.

Slider and Spring Constraint Offsets

With the physX dynamics engine, you can offset the positions of the slider and spring constraints from the centers of the constrained rigid bodies.


Displays for Bounding Collision Types

When you select any of the bounding shapes as the collision type, a yellow wireframe is displayed around the selected rigid body to show the extents of its collision volume.

You can set the visibility of the bounding shape with the Collision Primitives settings on the Attributes page in the Visibility Options property editor (press Shift+s).



Hair Toolbar

The Hair panel has graduated to now be a proper toolbar, just like the Animate, Model, Render, and Simulate toolbars. You can access it from the left side of the interface or from the main menu. Press Ctrl+2 to switch to it.

Also, the Render Hairs control has become a Render Hairs menu from which you can select the percentage of render hairs to display.

Volume Render Type

The volume render type for hair is no longer available: only the geometry render type is used, and is set as the default render type. You can, however, switch between geometry rendering and instance geometry rendering.

Scenes from previous versions of XSI which had volume rendering enabled will load with geometry rendering enabled.

Brushing Hair

Brushing grooms the hair with a proportional modeling brush, allowing you to intuitively sculpt the hair in an overall manner. With proportional modeling, hair points closest to the brush’s cursor (the crosshairs at the center of the brush radius) are affected the most while those farther away are affected less, according to the distance falloff.


Replacing Render Hairs with Objects (Instances)

Replacing hairs with objects allows you to use any type of geometry in a hair simulation. You can replace hair with one or more geometric objects (referred to as instances) to create many different effects. Simply put the objects you want to instance into a group, then each object in the group is assigned randomly to a guide hair. The instanced geometry is calculated at render time so you’ll only see the effect in a render region or when you render the frames of your scene.




Large Mesh Splitting

At render time, XSI now splits large objects into many pieces, each of which can be computed separately. It then sends a minimal amount of object data to the mental ray renderer which, in turn, uses a system of callbacks to request only portions of the object that it needs. For example, if you are rendering the head of a very large character, only the head (or part of it) is created and sent to the renderer. Should mental ray run out of memory, it can flush portions of the object that it no longer needs and call them again later, if necessary.

The Large Mesh Splitting > Split Factor parameter allows you to control the extent to which meshes are split.

Pass Channels

Pass channels extend the functionality of render passes by allowing you to output multiple images for each of the pass’ rendered frames. Each image contains different information about the pass such as reflections, ambient and/or diffuse lighting, irradiance, and so on. You can use these images at the compositing stage, the same way you would use any render pass.

Output Format Preferences

The Output Format preferences provide access to a variety of camera, image-format and other parameters that are normally scattered throughout several other property editors.

You can modify all of these parameters from the Output Format property editor, and then apply the changes to all applicable parts of the scene. For example, you can change the camera picture standard and then update all of the cameras in the scene as well as the relevant render options.

This allows you to quickly make global changes to the most common settings, such as those required to switch from the NTSC picture standard to the PAL picture standard.

Active Camera Preview

You can now render a preview frame from the active viewport’s point of view by choosing Render > Preview > Active Camera from the Render Toolbar.


The GPUSurfaceFX tool has been renamed to Ultimapper. In addition to the name change, there have been a number of updates and additions to the tool itself. Among other things, this includes additional map types, the ability to fine-tune tangent maps, and a mental ray preview function.

RenderMap Updates

The RenderMap/RenderVertex property has been updated with additional options, including:

• New Surface Color map types. The available surface color maps are now:

- Surface Color and Illumination

- Surface Color Only (albedo)

- Illumination

- Ambient Occlusion

• New options for toggling whether a variety of surface attributes, like bump, shadows, ambient and diffuse lighting, and so on are included in the surface color map.

• New Ambient Occlusion options to control how ambient occlusion maps are computed.

• Options for outputting depth maps.

• New UV basis options which allow you to use a Color at Vertices property to store a user-defined basis.

New Visibility Options

The object visibility property has been completely overhauled to give much finer control over objects’ render visibility attributes. New options have been added for shadows, transparency, reflection, refraction, final gathering, caustics, and global illumination.

In addition, new visibility property inheritance options have been added to specify which visibility properties are inherited from the instance master.

Fine Approximation

Fine geometry approximation for displacement has been changed to automatically heal cracks that may sometimes have occurred on portions of the surface that have UV/normal discontinuities.

Render Options

Several new render options have been added to the Render Options Property editor.

New Large-Large Mesh Rendering Options

On the Optimization tab of the Render Options property editor, options that are helpful when rendering large meshes have been grouped in a section labeled Heavy scene/model optimization (for scalability).

The options in this section include the Scanline algorithm options, the render Tile Size, and three new options — Split Factor, Large BSP, and Tile Order (described below).

You can click the Quick Set button to automatically set all of these parameters to values that are appropriate for rendering very large meshes and scenes.

Large Mesh Splitting Factor

The Large Mesh Splitting > Split Factor parameter affects the size (in triangles) and number of pieces that are created when the mesh is split. The default value of 1 splits a given mesh into the number of pieces that the underlying computations determine to be appropriate. Lowering the factor value to, say, 0.5 doubles the number of pieces, but halves their size.

Large BSP

The Large BSP parameter makes the scene’s BSP tree “flushable,” meaning that mental ray can collapse unneeded portions of the BSP tree in order to free up memory. This is especially effective in scenes with heavy displacement.

Tile Order

The Tile Order parameter specifies the order, or more accurately the pattern in which tiles are rendered. There are two possible settings:

Hilbert renders tiles in a pattern defined by a Hilbert curve. This is usually the preferable setting, particularly when rendering large meshes.

Spiral renders tiles from the center of the frame outward in a spiral pattern.

Multipliers for Caustics and Global illumination

Multiplier parameters have been added to the Photon tab of the Render options property editor for both Caustics and global illumination. The multiplier parameters are color values. Caustics and global illumination irradiance are multiplied by their respective multiplier values to produce the final effect. This means that you can set the multipliers to color values greater than 1 to brighten caustics or global illumination, or simply set a color to tint the final effects.


Final Gathering

A change has been made to final gathering to make it more accurate. In previous versions of XSI, it was using three times the actual Radiance, causing washed out global illumination and final gathering effects. To get the old behaviour of the Radiance calculations, each Radiance color value in each surface shader needs to be multiplied by Pi (approximately 3.142). You can edit Radiance color values on the Indirect Illumination tab of any surface shader's (Phong, Lambert, Blinn, and so on) property editor.

In addition to these changes, several new options have been added to the Final Gathering tab of the Render Options property editor.

Additional Diffuse Bounces

Final gathering is capable of multiple diffuse bounces. By default, only a single bounce is calculated. Raising the number of bounces to values greater than 0 adds additional bounces so, for example, a value of 1 provides a single extra diffuse bounce, for a total of two bounces.

The overall effect of additional bounces is to brighten the final gathering effect, though the effect is somewhat more localized than the effect of increasing the final gathering multiplier. This is particularly true for scenes with complex geometry with a lot of corners, where the additional bounces are unlikely to travel far before hitting something.

Pre-Sampling Density

The final gathering pre-sampling density is a multiplier for the final gathering points that are computed during pre-rendering. This can help to smooth out the final gathering effect a little bit, but is not a substitute for tweaking the accuracy and radius values.

Final Gathering Multiplier

The final gathering multiplier multiplies the final gathering color contribution to the scene. The overall effect is to brighten the rendered image, particularly where final gathering causes objects to “bleed” their colors onto one another.

Per-Object Final Gathering Maps

Each object in a scene can have its own final gathering map. When you create a final gathering map for a single object, the object’s sampling points are no longer included in the scene-wide map.

At render time, per-object maps are computed along with the scene-wide map, according to the Map File Usage setting specified in the render options.

New Verbose Messaging Options

The message-logging options on the Logged Messages tab of the Render Options property editor have been changed such that you can now output any combination of the following message types:

- Errors — outputs messages about missing .dll files, missing shaders, and other errors that may cause the render to abort.

- Warnings — outputs messages relating to problems that may cause the scene to render incorrectly.

- Information — outputs information computed for the scene, such as BSP tree statistics, tesselated triangle counts, number of rays fired, and so on.

- Progress — outputs the percentage of the scene that has been rendered, and other information about rendering progress, such as when the render begins and ends.

- Debug — outputs information about what information is computed and sent as each tile is rendered.

- Detailed Debug — outputs detailed information about what information is computed and sent as each tile is rendered.

Subdivision Geometry Shaders

A Subdivision geometry shaders option has been added to the Export MI2 tab of the Render Options property editor.

When this option is on, only the unsubdivided meshes of subdivision surface objects are exported to the MI2 file. A geometry shader is attached to each mesh to subdivide it at render time, using XSI’s system of split objects and render callbacks. This helps lower the size of the exported MI2 file.

When this option is off, subdivision surfaces are exported at their fully tesselated level.

Rapid Motion Scanline Algorithm Renamed

It is now labeled “Rasterizer” on the Optimization tab of the Render Options property editor.


Render Toolbar

Clicking the Render Toolbar’s Modify > Projection button is now opens a menu containing several options related to editing texture projections. This includes the interactive projection editing tool (j key tool) that was previously activated by the Modify > Projection button.

New Texture Projection Selection Options

New options for editing texture projection properties have been added to the Render Toolbar’s Modify > Projection menu.

Inspect Current UV opens the property editor for the object’s current texture projection. This is the projection used when the object is viewed in a textured display mode (textured, textured decal, and so on).

Modify > Projection > Inspect All UVs opens a multi-selection property editor for all of the object’s texture projections.

Swimming, Sticking, and Reprojecting

The Swim, Stick, and Reproject tools, available from the Render toolbar’s Modify > Projection menu, allow you to quickly change where a texture projection reads in an object’s operator stack.

Multiple UV Coordinate Sets in the Texture Editor

You can display multiple UV coordinate sets simultaneously in the texture editor. These UV coordinate sets can belong to a single object, or, if more than one object is selected, to multiple objects.


When multiple UV coordinate sets are displayed, only one of them is editable at any given time. The editable mesh is displayed in a different color from the rest of the displayed meshes, and is the only mesh whose points are displayed. You can make any displayed mesh the editable mesh.

Smooth UVs During Subdivision

A parameter has been added to the texture projection property editor to specify whether UV coordinates are smoothed when the object is subdivided. This applied to both geometry-approximation and operator based subdivision.


New Shader Types

XSI now supports lightmap shaders and material phenomena:

• Lightmap shaders are used to sample object surfaces and store the result in a file that can be used later. For example, you can use a lightmap shader to bake a complex material into a single texture file. Lightmaps are also used by the Fast Subsurface Scattering and Fast Skin shaders to store information about scattered light.

• 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 phenomenons effect by driving its parameters with other shaders.

Updated Material Node

The render tree’s Material node has been modified to accept connections from these shader types:


New Render Tree Node Colors

Also, each of these shader types has its own node and output-divot colors.


Material phenomenon


Lightmap shader

Ambient Occlusion Shader

The Ambient Occlusion illumination shader uses a fast and computationally inexpensive technique to simulate the effect of global illumination. It works by firing rays into a predefined hemispherical region above a given sampled point on an object's surface in order to determine the extent to which the point is blocked - or occluded - by other geometry.

Once the amount of occlusion has been determined, a bright and a dark color are used to scale the contribution of ambient light on unoccluded and occluded parts of the object surface respectively. Where the object is partially occluded the bright and dark colors are mixed in accordance with the amount of occlusion.


This shader can also be used for reflective occlusion, which is similar to ambient occlusion, but scales the contribution of a reflection map to the object's surface.

The Ambient Occlusion shader is available from the Nodes > Illumination menu in the render tree.

Fast Subsurface Scattering/Fast Skin Shaders

The Fast Subsurface scattering and Fast Skin shaders are material phenenomena available from the render tree’s Nodes > Illumination menu.

• The Fast Subsurface Scattering shader simulates the appearance of subsurface scattering, but not in a physically correct way. As such, it allows you to tune the scattering effect by eye, rather than requiring real-world scattering and absorbtion coefficients (not to mention photon lighting) like the Physically Accurate Subsurface Scattering shader.


• The Fast Skin shader is a specialized, and more complex variant of the Fast Subsurface Scattering shader, specifically designed to simulate human skin. It supports three levels of light scattering, two levels of specular highlights, and glossy raytraced reflections. All of the scattering, illumination and specularity layers are added together to produce the final skin effect.

Color Sampler Lightmap Shader

The color sampler shader is a lightmap shader that samples an object’s surface and writes the result to a texture file. This is conceptually similar to RenderMap’s surface color map, but works in a different way.

Rather than using a virtual camera to sample an object’s surface from a specified distance, the color sampler shader evaluates the object’s render tree directly. Whatever portion of the render tree is connected to the color sampler’s Input port is computed and written to a texture file.


The Color Sampler shader is available from the render tree’s Nodes > Lightmap menu.

XSI Normal Map Shader

The XSI Normal Map shader uses a normal map to create a bump map. It can be connected to any bump parameter in the render tree.


The XSI Normal Map shader is available from the render tree’s Nodes > Bump menu.

New Realtime Shaders

Several new Realtime shaders have been added. They are available from the render tree’s Nodes > Realtime > DirectX and Nodes > Realtime > OpenGL menus.

DXFx Realtime Shader

The DXFx realtime shader allows you to load and display DirectX effects, (stored in .fx files) in 3D views set to the DirectX9 display mode.

DirectX effects are high-level programs that allow you to combine a number of multi-pass vertex and pixel shading effects in a single file to produce sophisticated realtime-shading effects. You can author DirectX effects using a number of different third-party programs. You can then save those effects as .fx files and bring them directly into XSI's render tree using this shader.

DX Cubic Cross Texture Shader

The DXCubicCrossTexture shader creates a cubic texture using a cross-shaped texture image (like an unfolded cube). This is especially useful for creating cubic reflection maps. The cubic texture is set in the specified texture target.

DX Texture File Shader

The DXTextureFile shader allows you to import a texture image stored in the *.dds file format and use it, as would any other texture image, in a realtime-shader render tree.

OGL13 Cubic Cross Texture Shader

The OGL13CubicCrossTexture shader creates a cubic texture using a cross-shaped texture image (like an unfolded cube). This is especially useful for creating cubic reflection maps. The cubic texture is set in the specified texture target.

Realtime Shaders Support Floating-Point Images

You can now use floating-point (High Dynamic Range) image files as textures in realtime shader render trees.



There have been several improvements to workgroups:

• You can now set and manage your workgroups with the Plug-in Manager.

• You no longer need to restart XSI after setting your workgroups.

• mental ray shaders no longer need to be in the first workgroup.

• You can reference environment variables in the workgroup path using the Linux-style syntax, for example:


Tool Development Environment

The Tool Development Environment is a layout that brings together many SDK-related views. If you spend a lot of time creating plug-ins for XSI, you may find this layout useful. To display the Tool Development Environment, choose View > Layouts > Tool Development Environment from the main menu.


Several improvements have been made to the script editor:

• You can specify an external script editor in your preferences.

• You can display commands as hyperlinks in the history. Clinking a link displays details about the command.

Custom Commands

You can easily add multiple commands to the same plug-in file.

Toolbars and Shelves

There have been some improvements to custom toolbars and shelves:

• When dragging lines from a script editor onto a custom toolbar, you have the option to create a button that simply runs the script. You do not need to create a custom command.

• You can customize the size and label of buttons on custom toolbars, or specify a bitmap. Right-click on a button and choose Customize Button.

• You can create new toolbars in a specific location using the Tree tab of the Plug-in Manager. Right-click on a Toolbars folder in a workgroup or add-on directory and choose New > Toolbar.

• You can open a toolbar or shelf by double-clicking on a .xsitb file on the Tree tab of the Plug-in Manager.

• You can remove toolbars and shelves, as well as layouts and relational views, by choosing View > Manage.

Key Maps

XML-based Format

Key maps are stored as XML-based .xsikm files in the \Application\keymaps subdirectory of the user, workgroup, or factory path. At startup, XSI gathers the files it finds at these locations and makes them available for selection in the Keyboard Mapping editor.

Older key maps stored in the binary .DSKeymap format can still be used. However, as soon as you modify a key map or store it in an add-on, it will be saved in the .xsikm format and the binary file will be deleted.

Live Update of Hotkeys on Menus

When you change a key mappping, the new key automatically appears next to the command in menus and context menus. For some menus, you must restart XSI to see the new label. There are a few exceptions where the label update doesn’t work, such as the File and Help menus as well as the Cut, Copy, and Paste commands.

Custom Properties

There are some improvements to custom properties:

• It’s easier to migrate simple, non-self-installing custom parameter sets to script-based, self-installing properties using the CPSet Wizard.

• You can use the new Layout tab in the CPSet wizard to define how the property looks in a property editor.

Synoptic Views

You can add a synoptic view to the property editor of a custom property. To see an example, make sure the SDK Examples workgroup is connected, choose View > Toolbars > PPGDemos, and click Embedded Synoptic.

Plug-in Manager

The new Plug-in Manager (File > Plug-in Manager) is a centralized tool for managing all your plug-ins and workgroups.

Autodesk Softimage Documentation Archives