Locomotion: First Week

Locomotion: First Week

Oak & Raccoons & Buoyant Figures

After taking in information from the gathering: Ready Avatar One, Coding with Locomotion was on my list and thinking about how I can integrate this with my current workflows. The results are shown below as I managed to combine Locomotion with other livecoding environments: Hydra & SonicPi.

Design & Code Choices

  • Locomotion dance-based approach helped build a sci-fi-themed world without having to rely on pure abstractions

  • This led to the use of Hydra to augment the concept further through its share-screen capabilities

  • Afterwards, did some light colour modification & camera angling/zooming in a video editing software

  • The sound is composed of previously coded SonicPi compositions that were altered to fit the imagery

Oak & Raccoons

Video

Locomotion Code


--Avatar creation
dancer {animation = 4,x = 5, dur = 6};
dancer {url = "Oak.glb",animation = 2,x = 0, y = -1};
dancer {animation = 4,x = -5};
dancer {animation = 3, y = 3, dur = 3};
dancer {animation = 3, y = -3, dur = 3};



--Changes to the light
directional {z = 6, intensity = range 0 10 (osc 0.5), color = 0xff0000};

point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 0 10 (osc 0.5), color = 0x00fff0};

Hydra Code

//Enables the showing of the two Locomotion Choreographies
s0.initScreen()
s1.initScreen()

//the modulation of the two choreographies
src(s0).rotate(()=> sin(time)).blend(src(s1).scale(2).kaleid(4)).scale(3).repeat(()=> time % 4+1).modulateRotate(noise(0.5,1,1),2).add(s1).out()

speed = 0.25

Buoyant Figures

Video

Locomotion Code

-Buoyant FIguresLight Configuration

point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 8 25 (osc 0.5), color = 0x00fff0};
directional {z = 6, intensity = range 0 10 (osc 0.5), color = 0xff0000};

--Avatar Creation

dancer{ url="StoneFigure.glb", x = range 5 -5 (osc 0.5), z = -2, ry=3.14, ly = range 5 -5 (osc 0.5), size= 0.5 };
dancer{ url = "StoneFigure.glb", animation = 4, dur = 2, z = 0, x = -2, y = -3,rx = 360, x = osc 0.5,lx = range -10 10 (osc 0.5) }; -- range allows for opposite directions

dancer{ url = "StoneFigure.glb", animation = 4, dur = 2, z = 0, x = -2, y = -3,rx = 360, x = osc 0.5,lx = range 10 -10 (osc 0.5) };
dancer{ url = "StoneFigure.glb", animation = 4, dur = 2, z = 0, x = -2, y = -3,rx = 360, x = osc 0.5,lz = range 10 -10 (osc 0.5) };
dancer{ url="StoneFigure.glb", x = range -5 5 (osc 0.5), z = -2, ry=3.14, size= 0.5, lx = range 5 -5 (osc 0.5) };
dancer{ url="StoneFigure.glb", x = -4, y = range -5 5 (osc 0.5),  z = -2, ry=3.14, size= 0.5 }; -- up down
dancer{ url="StoneFigure.glb", x = 4, animation = 6, y = range -5 5 (osc 0.5),  z = -2, ry=3.14, size= 0.5 };

Hydra Code

//making 2 instances of the same screen

s0.initScreen() // locomotion
s1.initScreen() // Locomotion

src(s0).repeat(()=> (time % 25 + 1)/5).blend(src(s0).scale(2)).diff(o1).modulateScale(o1).out(o0)

src(s1).pixelate(10000,1000).out(o1)