Reproduced from: http://www.lihuasoft.net/article/show.php? Id = 4781
I believe no one has ever played a game that uses bone animation technology. Let's take a look at popular action games, such as Prince of Persian, split cell, and god of war. you will know the power of bone animation (I admit it is a guess ). The bone animation technology is used to make our 3D models move on the screen. By combining with the motion capture technology, the model can make extremely realistic actions. However, the principle of such a very powerful technology is quite simple.
Let us assume that we want the game's leading role to make an action, for example, the prince of Persian to take a straight forward. The simplest method is to let the modelers create an animation sequence and thenProgramFrame by frame, just like playing a movie. However, the workload is too large, and players also need n GB hard disks to install the game. In contrast, the bone animation technology uses a very clever way. First, the modeler completes a 3D model with a standard posture, usually stretching and stretching both hands along the shoulder and opening both feet. All subsequent actions will be evolved from this basic action. After completing this benchmark model, The Modeler creates a skeleton structure and a series of correlated vertices, just like a skeleton, A number of vertices are associated with each joint of the human body model. Imagine that the bones on people and people are easy to know what I'm talking about. Then, in the animation sequence we want to complete, select some key frames and match the position of the skeleton with the key frame for each key frame. Then save the series of key frames apart from the position of the skeleton, at the same time, the rotation, translation, scaling, or a hybrid coordinate transformation matrix from the base position to the current key frame is also saved. In our engine, we first find out which two key frames the role is in at this time based on the current time. After finding it, take the time as the parameter to calculate interpolation between the coordinate transformation matrix of the key frame, and use the interpolation result to determine the current position of the skeleton. After the skeleton position is obtained, the coordinates of all the vertices associated with the skeleton can also be obtained accordingly. By using the bone animation technology, we can play smooth animations with a relatively small amount of data!