2008 Spring CS 527 (Computer Animation)


Project 3 - Garageband

Sangyoon (James) Lee (sjames @ evl.uic.edu)

Electronic Visualization Laboratory

University of Illinois at Chicago

This project is a part of CS527 Computer Animaiton Class instructed by Andy Johnson.

7th, May., 2008

1. Overview

2. Project site & final result

- Team Project Site

You can find general overview of this project in the following web site.



- Final Animation

Project3_FinalAnimation_720p.mov (HD720p, quicktime H.264, 1:30secs, 129MB)

Project3_FinalAnimaiton_Low.mov (quicktime H.264, 1:30secs, 11.5MB)

Guitarist_Solo.mov (640x480, quicktime H.264, 1:30secs, 32MB)


2. Work flow details and Contributions


- Role of Player

I selected guitarist for my own character among other player. Consequently, character needs instrument. Since we are building fairly small band (three members), guitarist is also a singer in the band.


- Character Animation Overview Video

For the character Animation, we used multiple H/W & S/W to get the final animation. More details of this pipeline is available on project website. Following video clip shows these steps and how character animation data flow to the end.

Project3_Guitarist_Workflow.mov (640x480, quicktime H.264, 120 secs, 68MB)

- Character Design

Since out team designed overall concept as some sort of dark side, I choose holloween like theme for character. Big icon for this event is pumpkin head. Guitarist's head directly modeled by this concept. Single instrument, Guitar, also modeled in Maya software.

Started with sphere polygon and divided into 12 pieces along with radius and re-shaped to form pumpkin like model. Head model textured with image. Since the inner side of head is supposed to have candle, I made another layer of inner head sphere polygon and set to use brighter yellow color.

There is a point light located inside head so that pumpkin shaded brighter than outside of it. This light only affect head mesh (all other objects in the scene unlinked from light relationship via Maya relationship editor). In the early draft rendering, we found that the stage mesh is linked to this light by mistake and made much brighter stage on leftside (refer to this video clip. Final_draft.mov - 15MB). Since the light is inside the pumpkin head and should move together as character moves, it is linked to head bone (parenting).

- Light Fog on Pumpkin Head

There are one more intresting design part of pumpkin head. In many of films and graphics, we often use light fog technique to give idea of light beam through void area. Our quitarist has the same situation, candle in the head. This make guitarist more attractive. I made another light (spot light) inside of head to generate light fog. This looks good but seriously takes much more time. Unfortunately we could not include this in the final rendering since we could not finish all frames by the final due if we use this light fog. Anyway following image shows the light fog effect.

- Motion Capture (Prop setting)

General human motion is a bit simple job here, so I will more focus on new challenge of propsetting. For guitar, I decided to capture simple prop together with Actor. Simple prop does not need sophisticated setting. One can attach three or four marker around and create subject in Vicon iQ software. One thing important here is any pair of markers should be within two feet since it only uses single joint. In other word, if the prop is sort of big one, then one may consider to model it with multiple joint even though it is not necessary to bend itself.

We used measure stick to mimic guitar. Following picture shows the one we used.

After capture performance with a props, it is important to setup model accordingly. When we create prop subject in Vicon software, its root (pivot) point is automatically set as center of all markers selected to define this prop. In out case, props origin is close to the neck of guitar. Therefore, the origin (pivot) point must be similar to this props' root in modeling package (Maya).

In the later process, guitar mesh assigned to this joint as child and transforms together. Will discuss more details in later section.

- Post Processing of Motion Data

This stage is very much time consuming task. Even there is automation tool built-in, there is always some errors need to be fix manually. Following several operations commonly used during our mocap post-processing.

- Spline filler (Vicon): Fill the gap of markers in order to prevent jittery skeleton moves

- Kinematic smooth (Vicon): If kinematic motion looks noisy, may apply this filter to smooth it out

- Total removal of a certain marker (Vicon): in case, no other operation helps to make it better, sometimes removing some of marker data helps to generate smoother skeleton (kinematic fit) animation.For instance, inner elbow mark.

- Translation smoothing filter (MotionBuilder): pretty much cleans up noisy motion

- Motion Retargetting & Fine Tune

I spent quite time on modifying motion data on Motion Builder software. It was mainly becasue of guitar. With right setup of prop and model coordination, there are lot more work left over. In short, retargetted character's skeletal structure is different from performer (me). This causes inproper postioning of hands, left & right. To correct this, heavily used Motionbuilder's layering animation feature. Without editing base motion data, one can change it (blend/trasition...) to get it there. Following short video clip contrasts original retargetted motion (on left) and modified version (on right).

MotionFixVideo.mov (1280x480, quicktime H.264, 33MB)

- Rhythm & Animation

At the very beginning of this project, I planned to utilize wave form of the music to create some kind of sense of Rhythm in the animation (refer to proposal site http://www.evl.uic.edu/sjames/cs527/project3_proposal.html).

Since I am a vocal in the band, I decided to use some wave form from music. I used FFT analizer to record wave form band changes and used that numerical data. Since our animation has total 2130 frames, it is almost impossible to key all these value manually. Therefore, I made maya mel script to insert key frame data automatically.

Finally, I used this to control intensity of Pumpkin's headlight.

2. Lessons

In general, I have enjoyed a lot during this final project. Especially sharing experience with others was very fruitful.


- Keyframe Animation vs. Motion Capture


Final words... I would like thank all our team members for their hard working.