In 3D computer graphics and animation, the concepts of Skeleton Space and Model Space are crucial for understanding how objects, animations, and transformations work in a 3D environment. These two terms refer to different coordinate systems or spaces used to define and manipulate the position, rotation, and scaling of objects, particularly when dealing with character rigging and animation. Let’s explore each concept in detail and examine how they interact.
What is Skeleton Space?
Skeleton Space (also called Bone Space or Rig Space) refers to the coordinate system that is used to define the position and orientation of a character’s skeleton or rig. The skeleton is a hierarchical structure of bones (or joints) that drive the movement of a 3D character. This space is specifically designed to facilitate the manipulation of bones during animation and rigging.
In Skeleton Space:
-
Hierarchy-based Transformation: The position and rotation of bones are defined relative to their parent bones. For example, a bone for the upper arm will be positioned relative to its parent bone, the shoulder. This means that the transformation of a child bone will be influenced by its parent, creating a chain of transformations from the root of the skeleton (often at the base of the spine or the pelvis) all the way to the extremities (fingers, toes, etc.).
-
Local Space: Skeleton Space operates primarily in local space, meaning the position, rotation, and scale of each bone are relative to the bone’s parent in the skeleton. The local transformations are crucial for animators because they allow for intuitive control over the movement of each individual bone without affecting the entire model or mesh.
-
Bone Orientation: The orientation of bones is often defined in Skeleton Space using rotation matrices or quaternions. The way a bone rotates around its parent’s origin in Skeleton Space is what defines how it bends or twists during animations.
-
Skeleton Rigging: When animating a character, animators typically manipulate the skeleton, adjusting the rotations and translations of the bones within this space. The mesh (or model) that is attached to this skeleton will deform based on the movements of these bones.
What is Model Space?
Model Space, also known as Object Space or Local Space (not to be confused with the local space of a bone), refers to the coordinate system used to define the position, rotation, and scale of an entire 3D model or object in the scene. This space is relative to the object’s own origin, which is typically located at a predefined point on the object (such as the geometric center or another specified reference point).
In Model Space:
-
Global vs Local: Model Space is essentially the “local” space of an object before any transformations are applied in the 3D scene. When a model is first created, it resides in its local space (Model Space) with the object’s origin at the center of the mesh or model.
-
Translating, Rotating, and Scaling: Any transformations applied in Model Space (such as translating a model to a different location, rotating it, or scaling it) are done relative to the model’s origin. This means that all transformations are internal to the model and don’t affect its position within the larger scene until it is moved or rotated in world space.
-
Model Creation and Editing: When a 3D