## Project 2 Results Nicholas Penwarden ### Summary I have completed my proposed project by implementing a program that allows easy creation of a dress pose skeleton for a humanoid mesh from a small set of points. These points include key joints on the skin such as the hips, knees, ankles, shoulders, elbows, wrists, chest, and head. Note that the program mirrors appropriate points (e.g. if you select a point for the left knee, the right knee will be placed as well). The program then takes these points and forms a simple skeleton from them. This skeleton is then compared with the skeleton of the motion that has been loaded. A set of common joint synonyms is used to match joints up even if different naming conventions are used for the two skeletons. Joints that exist in the motion's skeleton but not the simple skeleton specified for the skin are determined and interpolated based on the locations of known joints in each of the skeletons, direction differences, and ratios of bone lengths. At this point, all joints (including the interpolated joints) can be fine-tuned by the user. Finally, the program compares angles between joints in the dress pose skel and the motion's zero pose skel and tries to identify large differences (generally, angles > 45 degrees, though this threshold can be adjusted). A set of rotations are generated that set the dress spose skeleton to be close to the motion's zero pose skeleton without losing subtleties of the skin's dress pose skeleton (e.g. a slight bend in the elbows or a slight bend of the back for a 'hump backed' character). With the modified skeleton and the set of rotations, the mesh can now be animated using normal linear blend skinning. Currently, the weights for vertices are loaded from the file, though in the future I would like to explore generating weights automatically.