Suppose you want to emit particles from the instances in a point cloud. For example, suppose you have a point cloud of instances of a BigFish model, and you want to emit little fish from each BigFish instance.
One simple approach is to set up a point cloud on your master BigFish instance, and do the emitting there.
Then when you emit the point cloud of BigFish instances, use InstanceShape instead of Set Instance Geometry.
It’s a relatively simple thing to do, but to get to edge midpoints, there’s a few context hoops to jump through:
I guess I could most of the context conflicts by putting the ICE tree on the mesh and storing the midpoints there.
Here’s a question from the Softimage mailing list, and what I would have answered (I didn’t answer, and I didn’t peek at the other answers either).
Given a 100×100 Grid point cloud, how would you do something to the following subsets of points?
[0,5,10, ... 595] and [1000,5,10, ... 1595]
For something like that, modulo is an obvious way to do it:
Contrast the above with this nicer tree
See also this for some compounds.
Given an array like
[0, 3, 7, 22, 6, 71, 1, 0, 9]
how do you sum up the first group of three elements (0+3+7), the second group of three elements (22+6+71), the third group (1+0+9), and so on and so on, without using a Repeat node?
Well, you could write your own custom ICE node. Or you could use Generate Sample Set like this:
Another Rotate Vector example. This time, I rotate the points of a mesh around the global X axis. In short, the point positions are treated as vectors, and then rotated about the specified axis. Of course, this requires some conversion between coord systems, which is always fun :)
The bottom part of the tree is just for visualization.
Here’s a couple of examples to illustrate how to use Sort Array with Key.