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!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s