Gnomon DVD: Advanced Sprites
This will be an exciting lesson by Andrew on advanced uses of sprites, which include crowd simulations, depth-of-field effects or unusual views under the microscope.
The first example shows how to angle our sprites in the direction of travel with respect to the camera. We assign an expression like that:
float $angle = angle (particleShape1.worldVelocity, <<0,1,0>>);
float $twist = rad_to_deg ($angle);
vector $vel = worldVelocity;
float $blend = 2 * smoothstep (-.5, .5, $vel.z) – 1;
particleShape1.spriteTwistPP = $twist * $blend;
This could be something like a flying dandelion field!
The next example shows an army running across a field. This is done with an image sequence of sprites that contains a run cycle, increment using spriteNumPP % <lastframeNumber> with a random starting point and use goalU and goalV to make them travel along the ground plane. If they are cut off by the ground, we could offset them by setting the Y attribute goalOffset attribute to half of the spriteScaleYPP value. To make it even better, we could make it twist in the direction of velocity.
In depth-of-field renders, it is very cheap to render using sprites, where we have an image sequence that blurs off the object and all we need is a locator on the camera and the help of ramps to determine how blur and opaque the sprite becomes.
We could also use more conditional statements such as the switch to vary the cycles of a sequence, so it becomes selective. This can be applied to a cheering crowd where cycles are sampled randomly. They can be randomly flipped in X to increase randomization. To create an illusion of lighting, a locator can be placed at places where we want to boost the gain, with a parented point light.
These are cheap and good ways for a complex shot. Use sprites!