design + motion

Play

Freelance

Freelance began as a doodle of me running.  At the end of an intense two month course on abstract visual effects in Houdini, I decided to step away from my desktop computer and practice some drawing. My only motivation was to take a short break from Houdini and learn some basics of frame-by-frame animation.  

A few (obsessive) weeks later, I was left with an animated short film that dealt with the passions, challenges, and insecurities I have as a freelance motion designer.  I’m still no better at drawing, but I’ve found value and joy in creating art in a medium where I’m not burdened by previous knowledge or experience.

Process

I used my iPad equipped with Procreate and Rough Animator as the main tool for this project. I had to learn some basics of frame-by-frame illustrations as I went, but the iPad made it easy to dive in.

Most of my time was spent in Rough Animator.

 
The application UI and still objects were created in Procreate.

The application UI and still objects were created in Procreate.

 

Procreate has some cool features that made it easy to draw tiny UI elements.

 

After many failed attempts at hand-drawing the cube animations, I eventually opted to create them in 3D and then add the analog look in post.

 

Scrapped sketches from my original running concept.

 
The catalyst for the final concept was this sketch that my brother made of me back in ‘97. Not much has changed.

The catalyst for the final concept was this sketch that my brother made of me back in ‘97. Not much has changed.

 

Now back to Houdini.

James Tupper
Texturing Low Viscosity Fluids

I’ve been researching different ways of blending surface textures and getting them to stick to low viscosity fluid simulation. Unlike lava or melting wax, chaotic fluid simulations can be an enormous headache to texture. There is no perfect answer to maintain a smooth and consistent surface texture through an event like a big splash. However, I’ve found that using triplanar noise mapping offers a good balance of natural results and quick implementation.

These are some experiments using Redshift’s triplanar functionality to procedurally map noise to the surface of a fluid simulation.

With triplanar mapping, the initial style of the surface texture remains relatively consistent throughout the entire simulation. Only a single rest position was used in this instance.

With triplanar mapping, the initial style of the surface texture remains relatively consistent throughout the entire simulation. Only a single rest position was used in this instance.

All texture and displacement maps are created procedurally using Redshift’s built-in noise.

All texture and displacement maps are created procedurally using Redshift’s built-in noise.

Displacement tessellation allows surface detail to hold up under intense scrutiny.

Displacement tessellation allows surface detail to hold up under intense scrutiny.

Notes

  • A render engine that supports triplanar noise mapping is required for this technique.

  • Multiple rest positions are not needed. However, for best results, it’s good to blend to a new rest position during major mesh deformations.

  • Mesh density can contribute a lot to flicker amount if you are using displacement so adjust accordingly. I’ve had best results resmeshing the surface with adaptive mesh settings disabled.

James Tupper
Particle UV Blending

This is a system I’m working on that tries to maintain the natural movement of surface UVs on a noisy particle simulation without setting up rest positions.

It can be used to add and blend textures on continuously evolving fluid surfaces and produce organic effects like liquid gold, glitter, and paint swirls.

Notes

The main idea here is to assign attributes to new particles in a simulation, and then kill them before they have time to thoroughly mix with other particles from differing birth times. This is achieved by spawning particles with short lifespans on a predefined path. New particles inherit UVs from the input path and then die before they have time to thoroughly mix with other particles. The result is an organic particle sim where all neighboring particles have similar attributes (like color and UVs).

This method can be used in instances where the dual-rest solver produces an unwanted blending effect on a chaotic loop of particles.

It also works well with using source imagery to generate custom color palettes for the blended textures.

 

I initially started developing this for my personal project, From Earth, but didn’t finished it in time to make it into my animation. It is not as precise as something like a dual rest system, but it’s nice for quickly getting a bump map to stick to a chaotic particle mesh.

James Tupper
Blooms

This is a series of procedural creatures inspired by different life-forms found in the deep sea. I defined key characteristics of certain creatures and re-imagined them as if they were coming to life in the sky. The system generates organic forms and motion from one or more input curves.

Stills from this project will be on display in Los Angeles, CA on June 8th 2019 at The Art of Creative Composition show hosted by CGMA.

Animation

I am currently experimenting with different movement styles that resemble things like sea plants and jellyfish. Above is a look at the basic structure of an animation rig. The only user input is the motion of the initial NURBS curve.

This code adds weighted ramps to the input curve which allows me to control how “laggy” the tentacles are while they are in motion

This code adds weighted ramps to the input curve which allows me to control how “laggy” the tentacles are while they are in motion

Higher values on the curves will make the tentacles stretch more as they increase in velocity. The above setup limits the stretching to the ends of the tentacles.

Higher values on the curves will make the tentacles stretch more as they increase in velocity. The above setup limits the stretching to the ends of the tentacles.

James Tupper
Procedural Forms

This system takes one or more 2D input curves and outputs a complex 3D form. The system generates a mesh, erodes it, and then bends the unshared edges for an additional level of detail. The output mesh is made of low-poly quads and could serve as the base a variety of different organic structures.

Process

Basic breakdown (initial 2D curve is the only user input here)

Basic breakdown (initial 2D curve is the only user input here)

Quickly iterating the eroded look using noise.

Quickly iterating the eroded look using noise.

The mesh without the edge curl detail.

The mesh without the edge curl detail.

Edges are isolated then curled backward for an added layer of detail.

Edges are isolated then curled backward for an added layer of detail.

Node run down.

Node run down.

James Tupperhoudini, art, WIP