Posts from the “Animation” Category


so my brain is crazy now,

I believe it’s fun to record.

The animation trailer for BBB is going well so far.. we landed off the initial story to make it as silly as possible – Candy turned my super logic and technical story to one that’s silly, fun and make-no-sense.. But I love it! Somehow I think being silly is a golden trait… because it makes you laugh then u just remember it! One common thing we agreed with is bringing personalities to things – that’s good. it means we’re keeping the essentials of the story while filter out redundant thoughts during brainstorms.

I doodled the initial color scripts with color pens this morning, along with text in Mandarin and English to complete the story. To complete the color scripts, I have to add mood, emotion, and lighting to the doodled color scripts. I initially wanted to use Microsoft’s Paint 3D, as it looks fairly easy to scratch 3D models. But when I tried it in Microsoft Store this evening, I found the rendering is not fast enough for quick sketching. Okay, we still need the color scripts. I’ll just draw the color scripts as it’s important references of the joints of the story, since drawing is the most intuitive and convenient way.. Maybe after the color scripts I could ask some artists to refine them.

Once color scripts are done, the next step is to animate the trailer in the shortest time. It would be simple and crude, but that’s fine – the idea is to refine the story over and over again by watching the story being animated. Once the story is polished, we could polish the art and style of the trailer.

I am so excited that I’m directing an animation trailer! Even I am scared that some animations take long time (years) to finish, I’d like to see how my first animation trailer ends up to be.

Dopamine doesn’t end up being useful on color scripts.. I am sad for that.. but I think if we decide to render in 3D, I could try Dopamine..

I am exhausted and excited. Heavy things come in the same time.. My skill is absolutely lacking. But I should stop fear and keep going!

NLP Reading List

Creation of Computer Animation from Story Descriptions by Kenneth Michael Kahn

This thesis, is a piece of art! It properly addresses the beauty of mathematics and corrects the bias of it from the real world. As for animation, the idea of animating via pure movements means something connected to human intuition.

Favorite quote:

Popular views of mathematics, including the one that informs mathematical education in our schools, exaggerate its logical face and devalue all connections with everything else in human experience. By doing so, they fail to recognize the resonances between mathematics and total human being which are responsible for mathematical pleasure and beauty.

Seymour Paper [Paper 1978] p. 104

Fun discovery:

The Dot and the Line: A Romance in Lower Mathematics

by Chuck Jones and Les Goldman

Steps to Implement Motion Transitions with Spacetime Constraints

I think it would be nice to make anthropomorphic transitions between a few basis motions. So here is the paper I am referring:

Efficient Generation of Motion Transitions using Spacetime Constraints
Charles Rose, Brian Guenter, Bobby Bodenheimer, Michael F. Cohen

Note: every symbol presented in this post can be found in the original paper.

The meat of the idea is described in section 3.1 and 3.2. As what I understood, the joint angles during the transition of support limbs are controlled with inverse kinematics constraints, and other limbs are with spacetime constraints. Here I list the steps to compute the joint angles during the transitions of unsupport limbs.

Basic definitions

Objective function to be minimized:


Gradient of the objective function:


Pseudo-Hessian Matrix, H, is updated with the gradient g.

New step direction:



For each iteration:

Check whether the iteration converges with the sum of the magnitude of the joint torques.

If the objective function converges: exit the iteration.

Else update the joint angles for all the joints.

For each frame t:

Compute velocities, accelerations, net torques, and forces at each joint starting from the root node and working out to the tips of all the chains in the tree. (Appendix A.2)

Compute the joint torques starting from the tips of the chains back to the root node. (Appendix A.3)

Compute gradient. (Appendix A.4)

Update pseudo-Hessian. (TBD)

Update new step direction.

Update the joint angles in current frame with the new step direction.

Sum up the magnitude of the joint torques.


Sum up the magnitude of the joint torques.


Bvh file Player in OpenGL

I found this blog very helpful about describing bvh file parsing and have successfully built my own bvh file player with OpenGL.

One important tip not mentioned in the blog is to use GL_LINES as the kind of primitive to draw when calling glDrawElements with indices and the vertex buffer object.

Here is the screen shot: (the motion capture data is from cmu mocap database)