Some useful ICE compounds
Finally I’ve found some time to cleanup and polish some of my ICE compounds to share them. Here they are, I hope you like them!
Cluster to Weightmap
As the name implies it converts clusters to weightmaps. Whats nice though is that it accept all types of clusters (point,polygon,edge) and adds the ability to grow and/or smooth the resulting weightmap.
Remember that you have to create the weightmap before you create the Icetree to make this work.
Create Copies along Curve
I don’t think there is an easy way to do this with the build-in topology compounds plus it has some other nice features:
- supports both open and closed curves
- nice controls to interactively position, scale and rotate your copies on the curve
- copies will be evenly spaced along the curve
- the copies nicely align to the curve, you shouldn’t run into any problems with flipping normals on s-shaped curves.
- transfers UV’s
The compound isn’t terribly fast, but that’s more due to the lack of speed of ICE topology in general. But I still think it’s very useful for a lot of modeling tasks. Like extracting a curve from a railing and quickly distribute posts for example. For everything else I would try to stick with instances…
Another take on motiongraphics currently most popular effect: emits particles and connects them with strands. This one is
- pretty fast
- works both in a simulated and non-simulated environment
- two modes of stand creation: closest points & random
- turbulice and grow the strands
Here is a quick viewport capture of 750 particles being emited per second, each growing 30 connections to its neighbours:
Most of the detail gets lost in compression unfortunately, so you can’t really see the individual connections growing. But its still a good example what you can do with the compound.
Emit from Polygons
This compound is thought to be used in a non-simulated environment and the emitter mesh should ideally consist of quads only. The idea behind this compound was to quickly create coral like structures by emitting instances from polygon centers and scaling them according to the polygon they’ve been emited from. This helps to prevent instances from penetrating each other, and also results in a more natural, organic look.
Since some of the parameters are not as obvious as in the other compounds i will explain them quickly:
Scale XZ by polygon size affects how much the instances will be squeezed based on the emiter polygon. A value of 1 means the particles are completely squeezed, 0 means no squeezing happens.
Note that we’re not actually skewing the particles, since that’s not possible. We’re only scaling them according to the distance between the two opposite edges of a quad.
Y Min/Max specify the range the next two operations work in. If they’re set to zero, the particles Y scale will be set to min+max/2.
Scale Y by polygon size does the same thing as the XZ feature. The higher the value, the smaller in Y will instances emited from small polygons become.
Scale Y by Curvature additionally scales Y by taking the curvature of the mesh into account. Instances lying on concave surfaces will scale down, while convex ones scale up.
The instancing part allows you to directly pick a group of different meshes to instantiate. You can then finetune which instance will appear via a turbulence. Bigger turbulence means bigger fields of the same instance will appear. You need to specify the correct number of different instances to make it work.
This one is a bit techy, but proved useful to me. It takes a set or array of scalar values and spits out quantized values based on a quantization step. An image (hopefully) explains more than thousand words
You could use this to create stepped gradient effects or stop-motion like animation.