Softimage XSI

Build your own Shockwave deformer using ICE

The wave function
The shockwave will be constructed by two sets of waves – a somewhat smaller, condensed part followed by the larger more intense pulse. Even though a shockwave is an ideal candidate for simulation, it has a slight drawback – namely that it is simulated. Whenever you want to change a value or reposition the shockwave, you have to rewind and run the simulation again. An alternative approach is to do a bit of high school math.

Read more →

Automatic weightmaps for the left and right side of a head using ICE

Start by downloading and opening the scene ICE_Weightmaps.scn from: https://dl.dropboxusercontent.com/u/3834689/CaffeineAbuse/LeftAndRight_Weightmap.zip

Before you can assign any weights use ICE you need an actual weightmap to assign them to. Select the Head object and from the Get > Property menu choose Weight Map. In the PPG, click the Rename button and rename it to Weight_Map_Left. Create a second WeightMap and rename it Weight_Map_Right. With the head still selected, press [Alt] + 9 to open an ICE Tree and from the Create menu choose ICE Tree. Get a Get Data node and enter self.PointPosition as the reference. To assign the proper weights to the weightmap you need to find where along the x-axis each of the points is located. If it’s higher a certain value (zero in this case) it’s part of the left side of the head, and if it’s lower (a negative number in this case) it’s part of the right side.

Read more →

Creating HDR environment maps from a 3D scene

Generating a HDR environment from your 3d scene is in fact not that much different from how you would go about in real life. The two most common options are to either shoot a chrome ball or to use multiple images to construct a spherical panorama. While there are 3rd party plugin which enables you to render the scene trough a spherical lens, you can just as easily create a virtual chrome ball to serve your needs.

Read more →

Creating strands between two different objects

Once completed the following steps you’ve effectively generated strands between the objects, though they won’t show up in a rendered image as you haven’t  defined any size or shape yet. To do this simply get a Set Data node, right click on the Value Port of the node and choose Add Port After two times so you have three values. Open the PPG, enter self.Size as Reference and set the size to 0.1 or so. Enter self.Shape as Reference1 and choose Cylinder. To loft the shape along the strand rather than using individual shapes you’ll need to add one last attribute. Enter self.StrandDeform as Reference2, press enter and check the self.StrandDeform checkbox. Finally connect the Execute output of the Set Data node to the Port2 of the ICETree node.

Read more →

Using an animated map to define particle goals in Softimage

There’s a slight difference depending on what map you’re using. A texture map is essentially an image file connected to an object, and as such you need to tell ICE what to do with this information before you can make use of it. First you need to convert the RGB color of the image to a scalar value and store this information as a custom attribute. Weightmaps on the other hand are already stored as scalar values, and as such you can skip the first step and use its Weights attribute directly in step 2. Start by opening the scene Goal_using_TextureMap.scn. 

Read more →

Wall of lights – How to set up a wall of animated light bulbs

Nine out of ten times you’re overegging the pudding by adding actual light source to the setup as you most likely could get away with a using really bright material on the object. But there is that one time you do need it, and this apparently is it.

Start by opening the scene Light_Wall.scn from this issues CD. There are several ways you can animate the lights switching on and off, but the perhaps most intuitive is by using an image sequence. Select the Wall object and from the Get > Property > Texture Map menu choose Texture Map. In the Clip section of the PPG, click the New button  and choose New From File. In the Browser, select the LightSwitch.pic sequence from the Pictures folder and click OK. Select the Texture_Projection in the UV Property section and then close the PPG.

Read more →

Rigging an accordion lamp

The distinctive design of the accordion lamp may look simple to rig, but don’t be fooled. As the lamp expands or contract the joints at each end of the arms moves in a circular motion, rendering the standard constrains useless.

The accordion lamp consists of a series of individual arms which are mounted in pairs creating an X-Shape. Rotating any of the arms will cause all arms to rotate which either expand or contract the lamp. Start by open the scene Accordion_Lamp.scn. The scene consists of a number of null objects and the arms, which are parented under the null representing their respective centre joint.

Read more →

Using render channels in Softimage

The typical use of render channels is to render the scenes components, such as ambience/diffuse, reflection or motion vectors into individual images. As most of these components are calculated individually by Mental Ray anyway they’re not going to affect the time needed to render the image. In addition, channels can be used to render partial or multiple render trees, adding ambient occlusion, outputting mattes or any other type of information within a single pass. In this case however, you won’t get them for free. 

Read more →

Shape blending in ICE using an image sequence

Since you’ll be using ICE to control the blend of the shape keys, make sure there aren’t any shape tracks added to the Animation Mixer and delete the Cluster Shape Combiner operator in the Shape Modeling stack of the object.

Open the scene Blend_Shape_Using_TextureMap.scn. Select the Can object  and from the Get > Property > Texture Map menu choose Texture Map. In the Clip section of the PPG, click the New button and choose New From file from the popup menu. Select the Gradient_Mask.jpg sequence and click OK to load the images. Select the Texture_Projection in the UV Property.

Read more →