Difference between revisions of "Skeletal animation"

From Valve Developer Community
Jump to: navigation, search
(definition)
 
m
 
(16 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
[[Image:Breen skeleton posed.jpg|150px|right|Skeleton during an animation]]
 
[[Image:Breen skeleton posed.jpg|150px|right|Skeleton during an animation]]
  
'''Skeletal animation''' is a form of [[Wikipedia:3D animation|3D animation]] in which a skeleton made of rigid "bones" is simulated inside a [[model]]. Vertices are "enveloped" to the bones and move with them, and polygons stretch and compress to fill the "joints" in between. Moving a bone high up on a "chain" causes all of the bones below it to move in response; e.g. moving the shoulder forward causes the entire arm to swing with it.
+
'''[[Wikipedia:Skeletal animation|Skeletal animation]]''' is a processor-efficient and relatively simple animation system that can simulate any jointed object, from people to insects to machinery.
  
== Uses ==
+
The titular [[skeleton]] is a hierarchy of jointed but individually rigid [[bone]]s that are manipulated in the same way as a real skeleton. [[Vertex]]es are '[[envelope]]d' to the appropriate bone and move with it; the bone in turn moves with the bones [[parentbone|above it]] (e.g. the hand follows the forearm). [[Polygon]]s that cover joints between bones [[weightmap|stretch and compress]] as the skeleton moves.
  
In practice, skeletal animation allows for efficient animations to be made with relative ease for almost any jointed object that can be imagined, from humans to jellyfish to electronic machinery.
+
Bones can be controlled with [[$sequence|canned animation]], [[$collisionjoints|real-time physics]], and/or [[$ikchain|inverse kinematics]].
 +
 +
== Limitations ==
  
Skeletal animation is not helpful when one tries to animate unstructured objects/substances like liquids or gases, however.
+
; A bone is rigid
 +
: The vertices enveloped to any given bone move as one unit. A skeletal animation cannot move them relative to each other (a [[flex animation]] can).
 +
; A bone has only one parent
 +
: A skeletons are organised into trees, branching out from a root. Webs/meshes of bones are not possible.
 +
; Skeletons require hierarchy
 +
: While it is theoretically possible to animate gasses or liquids with bones, it's an inefficient and overwrought solution. Use [[:Category:Particle System|particles]] to create such effects.
  
== Caveats in Source ==
+
== See also ==
 
+
Skeletal animation :
+
* [[Flex animation]] morphs [[Vertex|vertices]] directly (used for faces/lips)
 
+
* [[Vertex animation]] is keyframed vertex motion
*Cannot scale the size of an envelope ([http://www.brightcove.tv/title.jsp?title=900704395 though this can be achieved through other means])
+
* [[:Category:Particle System|Particles]] are used to animate clouds or streams of objects
*Does not animate faces (use [[Vertex animation]])
+
* [[Animated textures]] change the appearance of 2D surfaces
 +
* <code>[[SetSequence()]]</code> is used by programmers to play skeletal animations
  
 +
__NOEDITSECTION__
 
[[Category:Glossary]]
 
[[Category:Glossary]]
 
[[Category:Modeling]]
 
[[Category:Modeling]]

Latest revision as of 17:46, 23 April 2017

Skeleton in reference posture
Skeleton during an animation

Skeletal animation is a processor-efficient and relatively simple animation system that can simulate any jointed object, from people to insects to machinery.

The titular skeleton is a hierarchy of jointed but individually rigid bones that are manipulated in the same way as a real skeleton. Vertexes are 'enveloped' to the appropriate bone and move with it; the bone in turn moves with the bones above it (e.g. the hand follows the forearm). Polygons that cover joints between bones stretch and compress as the skeleton moves.

Bones can be controlled with canned animation, real-time physics, and/or inverse kinematics.

Limitations

A bone is rigid
The vertices enveloped to any given bone move as one unit. A skeletal animation cannot move them relative to each other (a flex animation can).
A bone has only one parent
A skeletons are organised into trees, branching out from a root. Webs/meshes of bones are not possible.
Skeletons require hierarchy
While it is theoretically possible to animate gasses or liquids with bones, it's an inefficient and overwrought solution. Use particles to create such effects.

See also