Skeletal animation
929022
214235061
2008-05-22T17:52:32Z
VoABot II
1879647
BOT - Reverted edits by [[Special:Contributions/72.42.103.14|72.42.103.14]] {[[User:VoABot_II/Help#Revert_reasons|possible vandalism]]} ([[User:VoABot_II/Mistakes|mistake?]]) to last version by "91.155.178.174".
{{Unreferenced|date=December 2007}}'''Skeletal animation''', sometimes referred to as rigging, is a technique in [[computer animation]], particularly in the animation of [[vertebrates]], in which a character is represented in two parts: a surface representation used to draw the character (called the ''skin'') and a hierarchical set of bones used for animation only (called the ''skeleton'').
This technique is used by constructing a series of 'bones'. Each bone has a three dimensional transformation (which includes its position, scale and orientation), and an optional parent bone. The bones therefore form a [[hierarchy]]. The full transform of a child node is the product of its parent transform and its own transform. So moving a thigh-bone will move the lower leg too. As the character is animated, the bones change their transformation over time, under the influence of some [[animation controller]].
Each bone in the skeleton is associated with some portion of the character's visual representation. In the most common case of a polygonal mesh character, the bone is associated with a group of [[vertex (geometry)|vertices]]; for example, in a model of a human being, the 'thigh' bone would be associated with the vertices making up the polygons in the model's thigh. Portions of the character's skin can normally be associated with multiple bones, each one having a scaling factors called vertex weights, or blend weights. The movement of skin near the joints of two bones, can therefore be influenced by both bones.
For a polygonal mesh, each vertex can have a blend weight for each bone. To calculate the final position of the vertex, each bone transformation is applied to the vertex position, scaled by its corresponding weight. This algorithm is called [[matrix palette skinning]], because the set of bone transformations (stored as transform [[matrix (mathematics)|matrices]]) form a palette for the skin vertex to choose from.
== Strengths ==
* Bone represent set of vertices (or some other objects, which represent for example a leg).
** Animator controls fewer characteristics of the model
*** Animator can focus on the large scale motion.
** Bones are independently movable.
An animation can be defined by simple movements of the bones, instead of vertex by vertex (in the case of a polygonal mesh).
== Weaknesses ==
* Bone represents set of vertices (or some other object).
** Does not provide realistic [[muscle]] movement and skin motion
** Possible solutions to this problem:
*** Special [[3d muscle controller|muscle controllers]] attached to the bones
*** Consultation with [[physiology]] experts (increase accuracy of [[musculoskeletal]] realism with more thorough [[virtual anatomy]] simulations)
== Applications ==
Skeletal animation is the standard way to animate characters or mechanical objects for a prolonged period of time (usually over 100 frames). It is commonly used by [[game artist|video game artists]] and in the [[movie industry]], and can also be applied to mechanical objects and any other object made up of rigid elements and joints.
[[Performance capture]] (or [[motion capture]]) can speed up development time of skeletal animation, as well as increasing the level of realism.
For motion that is too dangerous for performance capture, there are [[computer simulation]]s that automatically calculate physics of motion and resistance with skeletal frames. [[Virtual anatomy]] properties such as weight of limbs, muscle reaction, bone strength and joint constraints may be added for realistic bouncing, buckling, fracture and tumbling effects known as virtual [[stunt]]s. Virtual stunts are controversial due to its potential to replace [[stunt performer]]s. However, there are other applications of virtual anatomy simulations such as [[military]] [http://www.digital-humans.org/main.htm] and [[emergency]] response. Virtual soldiers, rescue workers, patients, passengers and pedestrians can be used for training, virtual engineering and virtual testing of equipment. Virtual anatomy technology may be combined with [[artificial intelligence]] for further enhancement of animation and simulation technology.
==External links==
* [http://mecca.louisville.edu/~msabry/projects/cskel.htm Control Skeleton for Animation]
* [http://mecca.louisville.edu/~msabry/projects/lsg.htm Salient Feature Extraction of 2D/3D Shapes]
==See also==
*[[Computer animation]]
*[[3D computer graphics]]
*[[Forward kinematic animation]]
*[[Inverse kinematics]]
*[[Inverse kinematic animation]]
*[[Per-vertex animation]]
[[Category:Computer animation]]
[[Category:Computer graphic techniques]]
[[Category:3D computer graphics]]
[[Category:Animation techniques]]
[[ru:Скелетная анимация]]