Thinking about IK

Prof.Pollard introduced several different kinds of Inverse Kinematics solutions to us in these two courses. In my understanding, there is no best IK solver, but more suitable ones. Some are fast; some are smoother; some are just more stylish for specific motions. Here is an interesting implementation video I found on YouTube.

Get to know MoCap

In this week, we went to the MoCap Lab, which is full of fancy tools for motion capture. MoCap is a great idea that makes animation, filmmaking and video games much easier and better. Usually, traditional 3D animation has to be manually made frame by frame, but with MoCap technique, we can not only have more control points, but also the actions will be more natural and controllable. I was surprised how accurate and instant the motion was captured, even some objects are blocked by others (according to my eyes), but they are still “visible” by the cameras and the computer. Avatar used a lot of motion capture techniques in it’s filmmaking. What impressed me in some news when it was shown in the theater is, they used something I would simply call “dots” (I don’t know the actual name) as markers on the actors’ face to map to the moving point of the model. This then reminds me of motion tracking. I think they are somewhat overlapped. I’m also into special effects so I tried motion tracking (as a simpler version of mocap) in Blender on my computer. At first I planned to make a laser between my fingers while due to the white background it turned out to be something strange.

finger laser
finger original

Hello Technical Animation

After taking 15-662 Computer Graphics course last spring, I decided to pursue deeper understanding in some specific area, so here I am, 15-664 Technical Animation, with our cute professor Nancy Pollard again.

In the first class we got a basic idea about the class, which covers most of my interest and curiosity. “After this semester, everyone can create their own fluid simulation from scratch.” said Prof.Pollard. I tried writing SPH in JavaScript and WebGL in the last assignment of Computer Science, it turned out to be a simple 2D simulation system with some adjustable attributes such as density, volume and viscosity, however with many limitations where I hadn’t explored more due to the time limit. Along with the FLIP simulation method and it’s advanced version called NB-FLIP I studied during my summer internship in the Oriental Dreamworks, I wish I can reach a higher level in understanding fluid simulation after taking this class.

In the second class, Prof.Pollard introduced some kinds of animation to us. Something impressed me is the crowd simulation in World War Z, which I watched in my undergraduate. At that time I was barely familiar with techniques used in animation, so I would honestly say I didn’t realize the crowd of zombies were simulated with CG until the class.. It was so real that I was wondering how people could star that scene.. Then we talked about stop motion animations, particularly Kubo and the Two Strings, which I like a lot. I’ve been admiring people involved in stop motion animation making, since it seems a lot of work and time consuming, especially in today with a bunch of “tricks” we can use in CG. Facts proved that their hard work paid off. Stop motion animations usually gives us a very different feeling than pure CG animations. I think the reasons are the natural lighting, real materials, high resolutions, no need for render farms and so on. They are also fun to watch, among which my favorite are Wallace and Gromit, Marry and Max, and a very old Chinese one called Effendi, very unique and impressive. Nowadays, stop motion animations can be very realistic and fancy, Kubo and the Two Strings is the very example. However, other than the hard work of five years, I really appreciate their work in combining stop motion with high techs. They used CG to create huge crowds, water and things are not easy to control in real life. Also they created a lot of new systems and machines to bring their great ideas to life. Stop motion animation never means traditional(outdated) animation.

“We’re not militant purists about it. We always think, ‘We know what imagery we want to capture and then we use the best method to get it.’ Our starting point is always going to be practical; it’s always going to be handmade because that’s the studio we are. But we would never say no to something because you can’t realize it practically. If we need CG to fix this…” - Chris Butler *Why The Marriage Of Stop-Motion And CGI Is A Great Thing”

*Effendi*, 1979, China

Replace a list in Python

Replace a list in Python:

>>> l = [1,2,3]
>>> id(l)
>>> l = [2,3]
>>> id(l)
>>> l[:] = [1,2,3]
>>> id(l)

The first way will change the id of the named list, while in the second way, only elements in the list are changed.