In this tutorial, we will be taking a detailed look at each of the Array 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 each of the nodes found within the Array section of ICE and we'll learn how they can be used to speed up our workflow. Software required: Softimage 7 and higher.
Introduction and Project Overview The Build Array from Constant Node will create an array with a specific number of elements inside of it. This number is defined by the constant size value associated with this node. We're going to take a look and see how this node can help us create a point cloud with a specific number of particles within it. So we're going to add an empty point cloud to our scene, let's go to Model, hit Primitive, Point Cloud, and Point Cloud, Empty. Alright, there we go. Let's create an ICE tree on it, and we'll use the Build Array from Constant node. If we're going to add particles to this point cloud, we're going to have to use the point cloud node called Add Point. Grab your Add Point node and connect it, connect it to Add Port to Port1 of the ICETree. Now we can grab something like a constant 3D vector, so type in 3d vector, and grab the Constant 3D Vector, and connect it into Positions1. It'll override the nature of add point, so it'll add a point based on the vector information that we have provided, like that, there we go. So here's one point, just like that. And if you go in here and change the value, it will change the point position in here like so. Now keep in mind that this point, only one point is being added, because we only have one piece of vector information coming in, but with an array, you can have a collection of vector information, basically it's a list that you can set up. So if you had an array of 3D vectors, it would add as many points as there were elements in this array, and it would also use their values if you have any assigned. So, instead of using just a single point, we can plug in an array in here. Notice that as we plug the Build Array from Constant into the vector position here, it changed the nature of this node, such that it can only build an array of vector values. So now we have an array of vector values in here, if we took Build Array from Constant, and changed the size from 0 to 1, we'd be able to create 1 particle, because the array has 1 element in it, and each element has been added using Add Point. If we set this to 10, there's going to be 10 elements in here, and each element is going to be used as a single point to be added to the point cloud. It's hard to tell with all the points at the same position, which is the value position here, if you were to push Ctrl+Enter though, you'd confirm and see that we have 10 points added. Of course, the best way of making sure is to randomize their positions. So, let's just do this, grab a Set Point Position node, execute it, and plug in a randomize node inside of it, so grab any Randomize Around Value node, plug it in, and there we have it. There's 10 points, and now if our size is 1, we have 1 point, if the size is 2, we have 2 points, and so on and so forth. Let me delete this excess node. And of course we can have anything like 100 points, basically set the size to 100, we'll have an array of 100 vector values, and each point will be added based on that vector value in there. So that's one of the cool things about Build Array from Constant, it'll help us build an array that has a fixed number of elements inside of it, and using that we can add or create a point cloud with a specific number of particles within it.