Character Animation

Character Animation

Character Animation

Character Animation

Organization:

UC San Diego

Organization:

UC San Diego

Organization:

UC San Diego

Duration:

Jan 2023 - Mar 2023

Duration:

Jan 2023 - Mar 2023

Duration:

Jan 2023 - Mar 2023

Rigging
Smooth Skinning
Keyframe Animation
Forward Kinematics
Interactive Control
C++
OpenGL
ImGui
Character Animation

Video Demo

Overview

  • Parsed skeleton, skin, and animation clip data from nested JSON-like text files: .skel, .skin, and .anim

  • Built skeleton hierarchy using forward kinematics; implemented smooth skinning; performed multi-light rendering with ambient, diffuse, and specular terms; added keyframe animation with various extrapolation modes

  • Implemented interactive user control by ImGUI, including changing camera view, adjusting individual joints, showing skin at binding state, attaching skin to skeleton, pausing/playing clip, changing playback speed, choosing play mode

Feature Status

The character animation module comprises three parts: Skeleton, Skin, and Animation. A wide range of features have been implemented, including:

  • load character skeleton, skin, and animation from .skel, .skin, and .anim files (essentially JSON-like nested strings) and display them in 3D views.

  • able to switch between different views:

    • skeleton only, rendered as boxes

    • undeformed skin at binding state

    • skeleton after smooth skinning

    • a short animation clip of this character

  • collapsible property panel for interactive user control:

    • use slider bar to change:

      1. Camera distance, azimuth, inclination;

      2. DOFs of every joint.

    • press R to reset all DOFs.

    • animation controls:

      • pause

      • playback speed

      • progress bar

      • play mode (what to do after the end of the clip?), default is walking till the end of the world

        1. To infinity!

        2. Loop from start

        3. Stop at end

        4. Walk back and forth

The following features are milestones to be achieved in the future:

  • support for various input file formats

  • textured character

  • textured ground/scene

  • light control

  • animation blend

Architecture Design


Key Algorithms

Skeleton Posing


Smooth Skinning


Tech Stack

Resources

Rigging
Smooth Skinning
Keyframe Animation
Forward Kinematics
Interactive Control
C++
OpenGL
ImGui
Character Animation

Video Demo

Overview

  • Parsed skeleton, skin, and animation clip data from nested JSON-like text files: .skel, .skin, and .anim

  • Built skeleton hierarchy using forward kinematics; implemented smooth skinning; performed multi-light rendering with ambient, diffuse, and specular terms; added keyframe animation with various extrapolation modes

  • Implemented interactive user control by ImGUI, including changing camera view, adjusting individual joints, showing skin at binding state, attaching skin to skeleton, pausing/playing clip, changing playback speed, choosing play mode

Feature Status

The character animation module comprises three parts: Skeleton, Skin, and Animation. A wide range of features have been implemented, including:

  • load character skeleton, skin, and animation from .skel, .skin, and .anim files (essentially JSON-like nested strings) and display them in 3D views.

  • able to switch between different views:

    • skeleton only, rendered as boxes

    • undeformed skin at binding state

    • skeleton after smooth skinning

    • a short animation clip of this character

  • collapsible property panel for interactive user control:

    • use slider bar to change:

      1. Camera distance, azimuth, inclination;

      2. DOFs of every joint.

    • press R to reset all DOFs.

    • animation controls:

      • pause

      • playback speed

      • progress bar

      • play mode (what to do after the end of the clip?), default is walking till the end of the world

        1. To infinity!

        2. Loop from start

        3. Stop at end

        4. Walk back and forth

The following features are milestones to be achieved in the future:

  • support for various input file formats

  • textured character

  • textured ground/scene

  • light control

  • animation blend

Architecture Design


Key Algorithms

Skeleton Posing


Smooth Skinning


Tech Stack

Resources

Rigging
Smooth Skinning
Keyframe Animation
Forward Kinematics
Interactive Control
C++
OpenGL
ImGui
Character Animation

Video Demo

Overview

  • Parsed skeleton, skin, and animation clip data from nested JSON-like text files: .skel, .skin, and .anim

  • Built skeleton hierarchy using forward kinematics; implemented smooth skinning; performed multi-light rendering with ambient, diffuse, and specular terms; added keyframe animation with various extrapolation modes

  • Implemented interactive user control by ImGUI, including changing camera view, adjusting individual joints, showing skin at binding state, attaching skin to skeleton, pausing/playing clip, changing playback speed, choosing play mode

Feature Status

The character animation module comprises three parts: Skeleton, Skin, and Animation. A wide range of features have been implemented, including:

  • load character skeleton, skin, and animation from .skel, .skin, and .anim files (essentially JSON-like nested strings) and display them in 3D views.

  • able to switch between different views:

    • skeleton only, rendered as boxes

    • undeformed skin at binding state

    • skeleton after smooth skinning

    • a short animation clip of this character

  • collapsible property panel for interactive user control:

    • use slider bar to change:

      1. Camera distance, azimuth, inclination;

      2. DOFs of every joint.

    • press R to reset all DOFs.

    • animation controls:

      • pause

      • playback speed

      • progress bar

      • play mode (what to do after the end of the clip?), default is walking till the end of the world

        1. To infinity!

        2. Loop from start

        3. Stop at end

        4. Walk back and forth

The following features are milestones to be achieved in the future:

  • support for various input file formats

  • textured character

  • textured ground/scene

  • light control

  • animation blend

Architecture Design


Key Algorithms

Skeleton Posing


Smooth Skinning


Tech Stack

Resources

Rigging
Smooth Skinning
Keyframe Animation
Forward Kinematics
Interactive Control
C++
OpenGL
ImGui
Character Animation

Video Demo

Overview

  • Parsed skeleton, skin, and animation clip data from nested JSON-like text files: .skel, .skin, and .anim

  • Built skeleton hierarchy using forward kinematics; implemented smooth skinning; performed multi-light rendering with ambient, diffuse, and specular terms; added keyframe animation with various extrapolation modes

  • Implemented interactive user control by ImGUI, including changing camera view, adjusting individual joints, showing skin at binding state, attaching skin to skeleton, pausing/playing clip, changing playback speed, choosing play mode

Feature Status

The character animation module comprises three parts: Skeleton, Skin, and Animation. A wide range of features have been implemented, including:

  • load character skeleton, skin, and animation from .skel, .skin, and .anim files (essentially JSON-like nested strings) and display them in 3D views.

  • able to switch between different views:

    • skeleton only, rendered as boxes

    • undeformed skin at binding state

    • skeleton after smooth skinning

    • a short animation clip of this character

  • collapsible property panel for interactive user control:

    • use slider bar to change:

      1. Camera distance, azimuth, inclination;

      2. DOFs of every joint.

    • press R to reset all DOFs.

    • animation controls:

      • pause

      • playback speed

      • progress bar

      • play mode (what to do after the end of the clip?), default is walking till the end of the world

        1. To infinity!

        2. Loop from start

        3. Stop at end

        4. Walk back and forth

The following features are milestones to be achieved in the future:

  • support for various input file formats

  • textured character

  • textured ground/scene

  • light control

  • animation blend

Architecture Design


Key Algorithms

Skeleton Posing


Smooth Skinning


Tech Stack

Resources

Let's Talk

Let's Talk

Let's Talk

Let's Talk