ICE Nodes Reference Library: Math General

In this tutorial, we will be taking a detailed look at many of the general math nodes found in Softimage's Interactive Creative Environment. Software required: Softimage 7 and higher.
Course info
Level
Advanced
Updated
Sep 25, 2008
Duration
1h 11m
Table of contents
Description
Course info
Level
Advanced
Updated
Sep 25, 2008
Duration
1h 11m
Description

In this tutorial, we will be taking a detailed look at many of the general math 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 tutorial 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 many of the general math nodes found within ICE and we'll learn how they can be used to speed up our workflow. Software required: Softimage 7 and higher.

About the author
About the author

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

More from the author
Using ICE to Create Motion Graphics
Intermediate
44m
Feb 8, 2012
RIB Archives in RenderMan for Maya
Intermediate
48m
Sep 17, 2009
More courses by Sunder Iyer
Section Introduction Transcripts
Section Introduction Transcripts

Introduction and Project Overview
The less than, less than or equal to, greater than, greater than or equal to, equal to, and not equal to nodes are really presets to a powerful logic comparison node called Compare. With this Compare node, we can find out if one value is greater than another value or if it's equal to another value, and so on and so forth. We'll see how we can use the Compare node to stop the emission at a certain frame. So let's create a particle, ice particle emission. I'll just go to Model and I'll drop in a null, and with this null selected, let's go to Simulate, and Create, Emit Particles From Selection. We'll get some ice particles coming out from this null, if you hit Play, those come out like so. I'm going to increase the length of my simulation here so we have more frames to play with. Let's set it to 1000. Hit Rewind and Play, and we have some points coming out like so. Okay. If you select the particles and you go to your Ice tree and you hit the Update button, you will get access to the ice graph that's driving these particles. You can double-click Emit From Null, for example, and we have some parameters we can chance in here like the color, and you can also change maybe the speed or how, the direction of these points. So if you set the Randomize Direction and Angle, at 360 you'll get a whole bunch of these points flying out in all directions. All right. Now, we can control when this emission starts or ends by defining the Enable parameter here. This will take in a Boolean value. If Enable is set to true, particles will be emitted. If it's set to false, we will have no particles in our simulation. Now, using this and a Compare node, we can basically define when the particles should be emitted. So grab any Compare node, like maybe Greater Than, for example. And if you double-click this node, you can see that it's really a Compare node. The only thing that defines its type is really the Type parameter here. So you can change the Greater Than node to a Less Than node by simply changing the type on the list. So just like that, you've changed it to a Less Than preset. So they're really all the same node, just with a different type setting. So let's use Greater Than, and you can take the result Boolean and plug it into Enable. Now we need to make sure we have some kind of value connected in here. This node is polymorphic, you can see the ports are black in color, meaning they can accept all kinds of data, like Boolean, scalars, and so on. So what we're going to test for is the current frame of our simulation. If it's maybe greater than 200, we'll have our particles start being emitted or we'll stop them from being emitted. So the way we can find the current frame and compare it is by using a node called Current Frame. This data access node will report the current frame of our particle simulation. Just drag and drop that in, and connect it into the first port. Now everything will be nice and clean because we basically set the type of this Compare node so that it can compare scalar values. Keep in mind you can only compare within the same type, you cannot compare a vector, for example, with a Boolean. So now we have our current frame, and now we're saying check if the first value is greater than the second value, which is zero. When you hit Play, your particles will be emitted as normal because if this condition is true, if the first is greater than the second, you'll get True, and when True is plugged into Enable, particles will be emitted. Now, if this situation were to be false, then particles will not be emitted. So if the current frame is less than zero, we will get no particle simulations. Or no particle emission, rather. So let's say we go in here and change the second port value to maybe something like 200, then we hit Rewind and Play. Particles will be emitted 'til frame 200. After frame 200 they will not be emitted, because this condition has been set to False. Whenever the frame amount was less than 200, which was from here to here, we just move through it. So within frames zero to 199, this condition was true, so that's why particles were emitted. But beyond frame 200, this condition was false, so particle emissions stopped at that point. So that's really the point of the Compare node. You can compare two values, get a Boolean result, and you can use that to drive other Boolean parameters. The Compare node is very useful in comparing any kind of value.