design + motion

Play

Blending Surface Textures

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

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 other particles from differing birth times. This is achieved by shortening lifespan of the particles while constantly spawning new ones. The result is an organic particle sim where all neighboring particles have similar attributes (like color and UVs). The mixing is accomplished by ramping an attribute value (like @Cd) over time and using that as a texture mask.

This method 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 accurate as something like a dual rest system, but it’s nice for quickly getting a bump map to stick to a chaotic particle mesh. I will continue to refine it as I learn more about the wonderful world of deforming mesh UVs.

James Tupper
Blooms

This is a series of procedural creatures I call Blooms, 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