1. Computer puppetry maps the movements of a performer to an animated character in real-time. This article provides a comprehensive solution to the problem of transferring the observations of the motion capture sensors to an animated character whose size and proportion may be different from the performer's. 2. Challengers: (1) The immediacy of computer puppetry creates a number of challenges, as solutions to animation issues must be handled in an online real-time manner. (2) The challenges of mapping a motion from the performer to the target character become more difficult when the target character is of a different size and proportion than the performer. 3. Major issues addressed in this paper in a manner fiting within the online real-time nature of computer puppetry: (1) The sensors used to capture the performer¡¯s motion are often noisy. (2) The important aspects of the original performance must be determined such that these details can be reproduced in the resulting motion. (3) The resulting pose of the target character must be computed in a way that recreates the important aspects of the original. 4. Motion filtering 4.1 Why filtering? Motion capture devices capable of providing real-time performance are particularly susceptible to noise. Filtering is an essential part to provide high-qualifty motion data for computer puppety. 4.2 Requirements? Filtering must be real-time, online, and performed on orientations as well as positions. 4.3 Solution Kalman filters are employed because of their capability of prediction and correction. Incremental orientation changes are parameterized with rotation vectors. 5. Importance Analysis 5.1 Why? When the performer and the target character do not have the same size and proportion, not all aspects of the original motion can be preserved. A system must determine which aspects of the motion are important to preserve, so that other less important aspects may be changed to preserve them. 5.2 Choices of motion aspects to preserve (1) the position of the root of the character, (2) the joint angles, and (3) the positions of the end-effectors. 5.3 Dynamic online important aspects determination Heuristics: (1) The position of the root is most likely not important. (2) If an end-effector is interacting with another object (such as the floor), then its position is likely to be important. (3) If an end-effector will be interacting with another object in the near future, then its position is important. (4) If an end-effector has just finished interacting with another object and is moving away from it, its position may not be as important as its proximity suggests. (5) If the end-effector is not in proximity to another object, it is likely that its position is unimportant. Measures: The notion of importance of an end-effector is introduced to measure the interactivity of an end-effector with its environment. In particular, the distance from the end-effector to objects in the environment is a good measure of interaction possibility. 6. Real-time inverse kinematics solver 6.1 The character must be positioned such that the important aspects of a captured motion are preserved while providing real-time performance. An IK solver that not only can incorporate the importance measures of the previous section, but also has real-time performance even in the worst case, is required. 6.2 Solution The IK process is divided into three subproblems: root position estimation, body posture computation, and limb posture computation. For each step, a method that is specialized to achieve high performance is provided. This leads to employ inexpensive closed-form solutions if applicable, and reserve numerical optimization for the case in which it is absolutely required. 7. Limitations and potential improvements 7.1 This approach has a limited lookback capability implicitly achieved by the Kalman filter, and allows only a restricted repertoire of constraints for real-time performance. 7.2 Address only the interaction between the end-effectors of a character and objects in the environment. 7.3 Focus on handling only the geometric discrepancy between a performer and a puppet. To generate more realistic motions, retargetting should also incorporate the characteristics of the puppet.