CS527 - Computer Animation - Fall 2006
Project 3 - Koosbane Karaoke

An overview

Fig 1. Our character, a green worm with no name


 - Motion capture of dance movements in Michael Jackson's Thriller were done

 - Mapping of the parsed data to the body, antenna , eyeballs and eyebrows

 - Mapping of the hand movements on to many hand objects to make the dance interesting

 - Added environmental objects like tombstones, fences, jack-o-lanterns, crosses and the moon


Step 1 - Initial Plan A

    Initially we had decided to do our motion capture for our worm character which Vijay made. We did our motion capture for Thriller with steps very similar to the original video. Our friend Kolappan helped us out with MJ's dance steps. Overzealous and overambitious we went with two different tracking data for a single step (1 for the torso and 1 for the legs, yeah we had planned to have legs on the worm too). We went back home and mapped the position data into spheres and the steps looked good. The problem was we had hands and legs, which was going to be difficult to map on to our now human like worm. If this wasn't going to help, we had several other problems :

a. The project requirements clearly stated that the character should not act like a human.

b. Between steps we had problems synchronizing properly.

c. In the same steps, we had difficulty getting the tempo of the leg tracking and the torso tracking  to go together.

   We thought we could map the data into the other parts of the body instead of having just the hands, like the antenna etc. We even mapped the data into the eyeball (and planned to have a kind of a tentacle connecting the eye socket and eyeball) and tried to make it a zombie worm with eyeball veins popping out. But, it looked real crazy.

Eventually, we had to do the mocap again.

Step 2 - Plan B

    The second time, we did not change the song, we did not change the character (we might have liked to have changed our character/song here to something simpler, but we decided to go with the original song/character). Only this time, we had 3 parts of the worm body: 1. The head with the eyes, antennae, eyebrows  2. The straight thorax 3. The remaining part which was a bit curved.

   This time instead of doing MJ's steps, we did simpler ones like jumping to the beat and twisting the body. We just had 3 trackers for each part of the body. We had steps where the worm would do a sommersault and even a handstand for our final finishing step(our subject actually did a handstand for that .. well all to no avail). Now, we had these second set of data which we could use.

Step 3 - Plan C

    The second mocap attempt got us simple, in-sync and less-noise movement. We tried using joints to attach the parts of the worm's body. When we tried orientation data, the head started doing wierd things. The final solution to make these all work was to calculate the rotation and orientation data for all the steps as we went. But, we never got to solve that problem. So, we went to a simpler solution.

   We used just the torso data from our first mocap session to make the worm move a bit more believably. Since, we didn't want the worm look human-like we added some modified motion capture data from the way the worm moved, for the antenna, eyebrows and the eyeballs too. But, still we had to have two hands since our first mocap data had hands. The final modification we made was we changed the hand model into a set of centipede-like legs which still used the same data that was meant for the hands. This kind of looked better than the acrobatic motion data from the second session, so we left it like that.

Implementation details

    We used electro. The final mapping became pretty simple after we tried joints and calculation of rotations/orientations. The final result was just adding some offsets to the eyeballs, eyebrows and antenna based on the movement of the centipede-like legs. We decided not to clean up the data at all, because we had only brief jittery motion when 1 or 2 trackers went wild for 1 or 2 seconds. We also had some lag when there is a shift between two steps. We tried to sync the music as much as possible to the dance steps. We have just used position data in our program. We also added some extra environmental details like the tombstones, fence, jack-o-lantern and a moon which slowed down our program dramatically although it runs at around 40 - 50 fps in my desktop.


Fig 2. The worm dancing to Thriller in a graveyard



Code - Have a look..

Code & Required files to run - Download

This program requires Electro 7.46 to run. Get it at www.evl.uic.edu/rlk/electro

Arunan Rabindran