Static vs Skeletal Meshes
🛑⚠️🚧Content not yet finished 🚧⚠️🛑
Everything below represents notes for Sepha to finish the YouTube vid and article with.
Static Meshes vs Skeletal Meshes
Game worlds contain two fundamental types of 3D objects: those that can deform and those that cannot. This distinction defines the difference between Static and Skeletal Meshes.
Note - In Blender or other DCCs, there isn't a distinction between Static and Skeletal Meshes. But in game engines however, there is a large distinction. So when we author content for a video game Engine, we think in these two concepts.
Static Meshes
3D models that maintain a fixed geometric structure.
Preserves the original vertex positions throughout their lifecycle.
No bone binding or vertex weight calculations required.
Computationally efficient for rendering large numbers of objects.
Common Examples
Environment Art: Walls, floors, roads, cliffs, rocks
Props: Daggers, Hammers, Barrels, Sign posts
Natural Objects: Rocks, Trees
Rule of Thumb: 99.99% of assets in a game world will be Static Meshes.
Animation Capabilities
Transform Animations: Can be moved through the world over time
A grenade can be thrown, a flag can be placed, a barrel can roll down a hill.
Surface Animations: They can exhibit a form of surface motion by GPU driven animations, driven by Shaders
However, the underlying structure and topology remains fixed. The asset itself is static
Trees, Grass, Dust, Ocean water, etc, are all "static" meshes which can be "animated" via Shaders on the GPU
This is a heavily technical and advanced topic we will explore later.
A static mesh is by its nature designed NOT to be animated.
Skeletal Meshes
Skeletal meshes by contrast, are designed specifically to be animated. They are built and designed with all the drawbacks of animation in mind.
3D models designed specifically to enable deformation
Characters / Creatures, some vehicles, some weapons, etc
The mesh is glued (bound) to an underlying "Skeleton", allowing an animator to Transform the skeletons "Bones" over time, creating beleivable motion and deformation.
Requires significantly more computational overhead than Static Meshes
Bone positions, final vertex positions, and animating components all need to be computed
Suited for characters and other animating props where static meshes cannot achieve the desired result
A human face for example is a perfect candidate for a Skeletal Mesh
Not suited for environment geometry in GENERAL as it carries several expenses with it, however it is common to make exceptions to this rule given the specific needs of the required visuals.
Requires both CPU AND GPU time to render, and in both cases, more than an equivalent static mesh.
Due to its dynamic nature, many optimizations that an engine can make about static meshes do not apply to skeletal meshes.
Bone Structure and Hierarchy
Organization: Hierarchical network of parent-child relationships
Structure: Tree-like system mirroring anatomical or mechanical joints
Coordinate system: Each bone functions as a 3D coordinate space, with their own local Forward, Right, and Up axes
Inheritance:
Parent bone transformations propagate to child bones
Moving a humans Neck, will indirectly move its Head.
This is known as Forward Kinematics, or FK for short
Vertex Binding and Weight Distribution
Establishes mathematical relationships between mesh vertices and bone influences
Each vertex assigned weighted values determining bone influence degree
This is called Weight Painting in Blender
Weights are normalized, typically summing to 1.0 (100%)
It is often considered an error if the weights of the vertices sum to a value over 1, as this leads to ambiguity when imported
Individual vertices can be influenced by multiple bones simultaneously
But this commonly carries a limit in engine of between 2 and 4 bones per vertex.
Users are capable of setting up complex relationships between bones by way of constraints and drivers - which allows for complex procedural animations to be authored.
When a skeleton is driven substantially by constraints, drivers, and other procedural methods, this structure is known as a Rig.
The Mesh is bound to a skeleton, which is in turn animated and driven by a Rig.
This can confuse some artists, as skeletons can be animated directly, but there is an important distinction, and Rigging is a whole field on its own.
Technical Implementation and Applications
Essential for models requiring articulated movement:
Bipedal and quadrupedal characters
Facial animation systems
Complex mechanical assemblies with multiple degrees of freedom
Bone directional properties important for animation authoring
Enables creation of believable animated performances impossible with static geometry
Typically require supporting assets:
A rig which defines the constraints and procedural motion the skeleton is capable of
An animation controller (AnimBP in Unreal) which defines how the animations play, layer, loop, and otherwise present to the user during the gameplay.
Last updated