# ICE Nodes Reference Library: Conversion

##### By Sunder Iyer
In this tutorial, we will be taking a detailed look at each of the Conversion nodes found in Softimage's Interactive Creative Environment. Software required: Softimage 7 and higher.
Level
Updated
Sep 25, 2008
Duration
1h 41m
Description
Level
Updated
Sep 25, 2008
Duration
1h 41m
###### Description

In this tutorial, we will be taking a detailed look at each of the Conversion nodes found in Softimage's Interactive Creative Environment. Each video in this course is a self-contained tutorial centering on one of the nodes found in ICE within Softimage. This means that these tutorials can be viewed in any order you wish, allowing you to jump straight to the content that is most relevant to you. These tutorials will take a detailed look at each of the nodes found within the Conversion section of ICE, and we'll learn how they can be used to speed up our workflow. Software required: Softimage 7 and higher.

###### About the author

Originally from Lagos, Nigeria, Sunder has made great headway in both the interactive game design and 3D animation worlds.

###### Python in Houdini
Intermediate
43m
Sep 17, 2009
Section Introduction Transcripts
###### Section Introduction Transcripts

Introduction and Project Overview
The 2D Vector to Scalar node will take an input 2D vector and output two scalar values that represent its X and Y components. With this node, we can do a few things such as decide where along a nerve surface can we emit particles. So we're going to do that. Let's begin by grabbing any nerve surface, and let's emit some particles from it. So with a nerve surface selected such as the hose in my case, let's go to Simulate, ICE, Create, Emit Particles From Selection. And it'll basically put out some particles here. If I hit Play, these particles will come out. Hit the Update button to take a look at the ICE tree. Double-click Emit From Surface and let's make some changes to it. Let's get some more particles to come out. Let's set the rate to about 1, 000. Let's play this. Alright, that's a few more particles, not bad. Let's increase this some more. Let's take it all the way up to 10, 000. And while we're here, let's just give these a slightly blue color because these are going to be our water particles. Alright, now we have particles being emitted along the whole nerve surface. But what we can do is we can take each particle. We can find the point it was emitted from. We can get the UE information out of that point and then use this node to define where along this nerve surface we want the image to actually occur. And we can delete unnecessary points using this technique. So let's get started by grabbing ahold of the Get Particle. Let me spell this right. So, Get Particle Emit Location node. When added to an ICE tree simulation for point clouds, and if they're emitted using the Emit From Surface node, we can get a location on the geometry emitter. And thus with that location, we can get any point attribute or any ICE attribute that's tied to it. What we want to get in this case is the point UV. To do this, we need to get ahold of the Get Data node. So grab a Get Data node, set the location as the source. Double-click the Get Data node and use the explorer to pick an attribute from the location of emission. What we're looking for, it's going to be a nerve surface ICE attribute called PointUV. This will output a 2D vector that will represent the UV information of the surface. So if I put my mouse over here, maybe a tool tip will pop up. Alright, so we have a 2D vector per point that represents the UV information of this surface where the particle was emitted. Now using this, we can grab ahold of our star node which is 2D Vector to Scalar. We can take the UV information and break it down into U and V values. I want to emit the particles along the U of this hose here. So basically, we can check to see if this U has satisfied or if the U value is within a certain range, and then we can keep those particles. So I meant to click that to move it aside. And now, let's grab a node called In Range. This is really a combination of a couple of Compare nodes. And with it, we can basically find out if the U value is within a certain range. And if it is, we can delete the particles. We'll delete the particles using a Delete Point node. So type in the letters to get ahold of this Delete Point node. Drag and drop it in. Connect Delete into Port2 and connect the In Range result into the deleted port. So now when we hit Play, our particles will be emitted. But obviously, it wouldn't work out until I have something set properly in the range. So right now, it's not deleting any particles because they're not within this range here. Let's put a proper range in to fix that. So let's try something like maybe pulling 0. 7 and 0. 8. So anywhere where the particles are coming from 0. 7 to 0. 8 of the U of this nerve surface, those points will be deleted. Let's hit Rewind and Play. And now it may be a little hard to see, but you can see there's this little strip where particles are not being emitted from. It's kind of along the top here. Alright, let's go ahead and flip this to the opposite so only particles that are not in that area will be deleted. To do that, we'll grab a Not node, drag and drop it over the connecting line like so. So now the opposite effect will happen and particles will only come out from the points where the U information goes between 0. 7 and 0. 8. So using this technique, we can use the 2D Vector to Scalar node to get UV information, break it down, and we can run some code or we can execute some ICE nodes based on that UV information. In this case, we said only emit particles between U position of 0. 7 and U position of 0. 8. So that's why we're only getting particles to come from the hose only along this strip. We can do the same thing for the Y direction, for example. And now we'll only get particles coming along a little strip for the V, for the position or the point V of the nerve surface.