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

Static Meshes

  • 3D models that maintain a fixed geometric structure

  • Not designed to deform using skeletal animation systems

  • Preserve original vertex positions and topology throughout their lifecycle

  • No bone binding or vertex weight calculations required

  • Computationally efficient for rendering large numbers of objects

  • Ideal for environmental assets, architectural elements, props, and rigid objects

Animation Capabilities

  • Can be animated through object-space transformations:

    • Translation: Moving the entire mesh through 3D space

    • Rotation: Rotating the mesh around any axis or combination of axes

    • Scaling: Uniformly or non-uniformly scaling the mesh dimensions

  • But the mesh structure itself remains fixed and unchanging.

Advanced Surface Animation

  • Can exhibit dynamic surface behavior through specialized rendering techniques

  • The GPU is capable of running programs that we call “Shaders” which are capable of displaceing even static mehses at run time

  • This can create effects like:

    • Rippling water surfaces

    • Swaying vegetation

    • Pulsing materials

  • Original geometric data stored in memory remains unchanged

  • Only the final rendered appearance is modified during display process

  • Mesh retains "static" classification regardless of visual surface movement

  • No skeletal deformation system involved

Key point, static meshes are not skeletal meshes, skeletal meshes are not static meshes.

Skeletal Meshes

  • 3D models designed specifically to enable deformation

  • It does this by allowing a user (typically an animator) to modify the bone transform over time

  • The mesh is bound to an underlying skeleton (called an armature in blender) that repreests the skeletal structure

  • The bones that make up this skeletal structure can then move, moving the bound vertices in turn.

  • Requires additional computational overhead for bone calculations

  • Suited for characters and other animating props where static meshes cannot acheive the desired result

  • 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

  • Operates as a hierarchical network with parent-child relationships

  • Forms tree-like structure mirroring anatomical or mechanical joint systems

  • Each bone functions as a three-dimensional coordinate system

  • Bones possess directional properties with defined forward, right, and up axes

  • Maintains local coordinate space for precise movement control

  • Parent bone transformations propagate to child bones

  • Preserves relative positions and orientations throughout hierarchy

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 vertecies 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