![](https://cdn.myportfolio.com/5474c2ad-0995-4d93-b1b3-c707f797ce01/5f70f283-aa87-4c00-9321-1b5fd755cbf8_rw_1200.gif?h=f655e2a8af1a8efe21d97d4fb1355cb2)
the story
![](https://cdn.myportfolio.com/5474c2ad-0995-4d93-b1b3-c707f797ce01/2a9f21a5-3c1f-409d-8dc0-ef3adddb282b_rw_1200.jpg?h=3203d74ef0f8850e96e7ef6965de92ca)
I recorded six videos of a friend dancing and mapped them to planes around a sphere in Three.JS, then wrote gaze raycasting controls that would allow the user to rotate the sphere and get an unique perspective on the dancer’s movement. The implementation involved:
* initializing a scene,
* creating an object hierarchy,
* implementing mouse raycasting,
* adding video textures and animated shaders.