Hi, I'm Gen. Here's where I keep notes on some of the projects and games that I have done or things that I've learned.
Friday, February 27, 2009
Real-Time 3D Animation Technology
I've learned and implement several different kinds of real-time 3D animation techniques. Here is the gist of it: Vertex Morphing - Stores key frames and use interpolation to animate the vertexes. Memory intensive but light on the CPU.
Articulated - Individual animated parts are modeled as individual meshes, and bones and joints are used to animate the meshes. Less memory needed, but the joints are blocky because the joints don't share vertexes.
Skinning (Rigid) - Similar to articulated, but each vertex is associated instead of at per-mesh level. Needs minimal memory, but requires more CPU power. The major draw back is that deformities can happen at the joints when animating.
Skinning (Smooth) - A vertex can be associated with multiple bones with different weight values, this reduces the deformities at the joints but at the cost of more CPU computations.
I am a software developer, I have used a few languages, such as C++/C#, Java, Objective-C, HLSL, SQL, JS, ActionScript etc. throughout my career over the past few years. I can't say I am familiar with all of them at the same time, it really depends on what I used the most for my work at a given time. I have passion for programming and I have this ability to quickly ramp up to the environment I am in. Besides the programming languages, I have learned some game related subjects such as collision detection, physics, and optimizations during the time I studied at Full Sail. I like programming in general but like doing graphics programming the most.