Skeletal Animation 3D

Manta Games

You must be logged in to obtain assets


Introduction This 3d skeletal animation shader (skinning shader) can be used to load bone-based animated 3d models into Game Maker Studio. 3D Skeletal Animation is a relatively simple concept which requires a list of bones and bone-weights to be stored on the CPU. Similar to Frame-Based animation it uses the CPU to interpolate between frames, but instead of operating on a per-vertex level it operates on a per-bone level. The end-result is faster than interpolated frame-animation, and uses less RAM.


  • Misfit Model 3D (MM3D) file importing
  • CPU-sided bone skeleton animating
  • GPU accelerated skeleton skinning
  • Custom per-joint offsets for dynamic transformations

How it works:

  • Loading a Misfit Model 3D (MM3D) model only imports the model data and parses it into our generic skeleton model format:
    • **To actually use the model, you'll need to create an animated instance of the model (limited to one animated instance per object).
  • An animated instance is a "wrapper" for our generic animated-model format and it makes it easy to render bone-based models in Game Maker Studio.
  • It works with a simple vertex shader. The shader takes in the 4 bone-weights and the 4 bone-indices. It multiplies each vertex by the bone matrix and the bone weight. The fragment shader is a simple passthrough shader.


  • If you would like to see the extension in action before purchasing, check out the demo!


Known Issues:

  • It does have one flaw; It isn't as fast as we would like it to be. Game Maker is terrible at iterating through data, and that is the main thing our skeletal system does. We've spent a long time optimizing it for most machines, and we can render about 100 animating models with 40-bones at above 60 fps under YYC. So, this may not be ideal for mobile gaming, but it's perfectly fine for desktop gaming with modern hardware.

End User Licence Agreement (EULA).

Age Rating: None


GMS1 - Version 2.0.0. Published August 11, 2016

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait