Category: animation

Falling Diamonds

Part of a Thai music video in tribute to Petchara, a star of the 60’s, and featuring Weir, a current star. I was tasked with adding cg diamonds falling from above.

Urban Jungle 1

Mixture of photographic and 3d animation elements, and stock sound.

I like the feeling of these overgrown empty lots that you sometimes see around these parts. Trying to capture that mood.

Tools: Maya and paint effects.

Duplicate, and Constrain MEL script

Here is a script that duplicates an object and then constrains it to another animated object. In this case a stack of low res, dynamically animated coins are replaced by textured coin model.

string $mySel[] = `ls -sl`; int $arraySize = `size $mySel`; print $arraySize; int $i = 0; for ($i = 0; $i < $arraySize; $i++) { string $dupPenny[] = `duplicate penny1`; select $dupPenny; group -name ("pennyGRP" + $i); CenterPivot; select $mySel2[$i]; select -tgl ("pennyGRP" + $i); pointConstraint -offset 0 0 0 -weight 1; orientConstraint -offset 0 0 0 -weight 1; }

This script also groups the new coin, so it can be offset.

Cloth Animation

Test of Maya nCloth dynamic animation. Click image above to play. Click here to download.

Rain 1

The rain itself was created with a particle system. A plane emits particles, which collide with a NURBS plane. The particles are assigned a collision event which kills the particle and creates new “splash” particles upon collision.

1. create NURBS plane, duplicate. Move duplicate above as it will be emitting the rain particles.
2. Select duplicate NURBS plane, go Particles > Emit From Object (options) > type: Surface.
3. Select new particle system (may be named particle1). Shift select original NURBS plane, the ground. Go Particles > make collide.
4. Select particle only, go Particles > Particle Collision Event Editor (options). Create a new collision event. Set Event Type to Emit, so that new particles will be created. This will create a new particle (may be named particle2).

The concentric waves on the ground plane are created by assigning density to a fluid texture. The density is based on particle collisions. The particle must be assigned a Collision U and V to access the location of the density being mapped.

1. Create 2d Fluid Texture (shadingNode -asTexture fluidTexture2D;). Scale and orient so it matches and fits the ground plane.
2. Select particle1. Add dynamic attributes collision U and V. To do so, open the attribute editor, scroll to “Per Particle Attributes. Click on Add Dynamic Attributes > General > Particle.
3. Create an expression to control the “density” attribute of the fluid texture at the point of collision between particle1 and the ground plane.

Expression for mapping the density to the fluid texture:
float $colU = particleShape1.collisionU;
float $colV = particleShape1.collisionV;

if ($colU > 0) {
int $xpos = fluidTexture2DShape1.resolutionW * $colU;
int $ypos = fluidTexture2DShape1.resolutionH * $colV;
setFluidAttr -xi $xpos -yi $ypos -at density -ad -fv 0.6 fluidTexture2DShape1;

Trees Wires Birds

A test using photographic elements, simulated 3D parallax, and animated birds.