Procedural systems

Trigonometry, functions, graphs, linear algebra, cross products, matrices, quaternions, programming, loops... Still there? All of the topics mentioned are crucial when producing tools for complex animation systems.

Process

Fine detailed animations ar crucial to produce high quality images. While details add to overall realism they can be quite hard to manage. The goal of these systems is to introduce expandable design systems with animation ready properties.

Result

To produce these systems I had to combine concepts from fields such as generative design, parametric architecture, computer science and animation. While all systems have a specific function, each one of them is based on a procedural approach to maintain scalability for scenes of any size.

psGreebleWeb-min

Greeble

A classic greeble tool to add infinite amount of detail to any geometry. The procedure is to take any polygon primitive, subdivide it and extrude the new primitives.

For added complexity different heights, orientations and skew factors are added to each primitive.

psRandomWalk-min

The box of random walk

While the vector random walk is a popular exercise, advancing it to geometry level seemed as an even better challenge.

To start walking the box follows a few rules, from the current point it chooses one of four directions. For the box to roll a matrix rotation around the edge in the chosen direction is performed. After the rotation is done, the box chooses a new direction, thus introducing an endless animation.

psNoiseLoop-min

Noise time offset

Animations with organic flow are always satisfying to observe. The aim was to produce a system that emits noise from a certain point with an echo like effect that travels through the rest of the geometry.

To achieve this effect every spline is an iteration of an original spline. The displacement is achieved by offsetting the noise's time factor with the iteration number of the loop.

A great technique to fake wind effects when physics systems would be too costly.

psCrossProduct-min

Matrix lookAt

One of the more advanced systems. The idea was to displace a grid with a wormhole type effect.

With the help of dot and cross products it was possible introduce a more interesting movement than a regular linear movement. The approach was to update every cross's traveling direction with the inverse of the direction where the influence fields center is. This way the grid bends in to a new more complex form.

psTraverse-min

Geometry traverse

When building a model it's important to keep track of each vertices index number as it gives great flexibility to add detailed effects by traversing through the indices with patterned selections. To achieve the effect of a growing net splines are extruded in one of the traverse patterns.

Selected Works

LusciniaAnimation

Chrome SpillGenerative Design

Product TomorrowConcept Art

Panic ShowreelAnimation

Flora (WIP)Animation

Curling LandscapesGenerative Design

Ice FlashPhotography

Spirit of VietnamPhotography