CoMotion 2021

Client: SCAD CoMotion  Role: Lead Animator  Year: 2021

CoMotion is SCAD’s annual student-run motion design conference. The 2021 edition, Conductor, explores transformation from death to rebirth, and was produced entirely remotely during the pandemic.

As Lead Animator, I led a team of 11 animators on the title sequence, providing technical direction and building expression-driven rigs and toolkits. I also ran production: asset lists, task delegation, schedules, and a supportive space for the team to do their best work.

Creative Treatment

Conductor opens on a pile of broken, discarded instruments. The conductor, a symbol of leadership and guidance, raises them into a grand symphony, giving them new life and purpose.

Design

Procedural Plant Growth

Cel-animating every growing plant would have eaten our schedule. DaAe Kim’s five cel motion tests set the look, but we needed far more for the title sequence and title cards.

So I built a procedural system in After Effects with expressions and shape layers, and pitched it to the team with a proof-of-concept test, the plant algorithm and a short tutorial.

Cel Motion Tests by DaAe Kim

Animation Rig

Algorithm

				
					// Stem path 
l = effect("length")("Slider")/2;
arr = [[0,0],[0,-l]];
createPath(arr,[],[],0)


// Branch path 
var ctrl = thisLayer;
var seed = ctrl.effect("seed")("Slider");
var stem = ctrl.effect("length")("Slider");
var sym = effect("symmetrical")("Checkbox");
var sides = 2;
sym==1? sides=2:sides=1;
// data
var myIndex = thisProperty.propertyGroup(3).propertyIndex-2;
var dir = myIndex%2 // yields 1 - left, 0 - Right
var rowIndex = Math.floor(myIndex/sides)+1; // start at row 1

//User Variables
var base = effect("base")("Slider");
var spacing = base + effect("spacing")("Slider")*rowIndex;
var xRange = effect("xRange")("Point");
var yRange = effect("yRange")("Point");

// Begin expression
seedRandom(seed,true);
var fork_x =random(xRange[0],xRange[1])//rowIndex // rand x gets smaller as rows increase
dir==1? fork_x*=-1:fork_x*=1; // switch direction based on index

var rand_y =random(yRange[0],yRange[1]);
fork_y = spacing+rand_y;

// execute
arr = [[0,0],[0,-spacing],[fork_x,-fork_y]];
createPath(arr,[],[],0)

				
			

Tutorial

Technical Development

Beyond the plant rig, I built setups like the wave and blob below for the title sequence and title cards. To hand them off to the Graphic Design team, I built the rigs with Master Properties, ran training sessions, and shipped every project file with a Read Me so artists could work without me.

Credits

Direction

Creative DirectorYuying Herr
Art DirectorFreya Yeh

Production

ProducersKagan MarksScott Sandifer

Design & Animation

Lead DesignerKathie Yang
DesignAnna YangAuralee MayfieldGhia VillasinObi NwosisiOlivia TrotterYu Xin KingYuying Herr
Lead Graphic DesignerMel Petzold
Graphic DesignAlaijah HamptonAlyssa KalbusAnna YangErica KimGhia VillasinYorlieth Avila
Lead AnimatorDesmond Du 😉
AnimationDaAe KimFreya YehGreg MarkmanKathie YangKagan MarksLeah EvansLirio RamirezOlivia TrotterPranay ParekhWendy HuangYuying Herr

Post & Sound

SoundTzuying Wang

Extended Team

ExperientialAlex CampbellRiley Carson
WebsiteAndrew GoodridgeEric Flatt
Special ThanksMOMELoveour professorsSCAD Motion MediaKelly CarltonDuff YongMinho ShinAnna VallarioKrystal CoatesCarly Johnson