Giter Site home page Giter Site logo

gml-bone-animation's Introduction

Katsaii's 2D Skeletal Animation Runtime

PROJECT ABANDONED, use at own risk!

This is a project for GameMaker Studio 2.1, and contains a diverse range of useful scripts for importing and manipulating skeletal animation structures at runtime. You are able to make use of the decentralised nature of the runtime to create and manage your own armature data without the use of external software.

Features

The runtime features support for Spine and DragonBones. Supported features of these programs include

  • Add, edit, and remove skeleton data at runtime
  • Build your own skeletons dynamically without requiring external software
  • Support for various bone transforms:
    • Translation
    • Scale
    • Shear
    • Rotation
  • Supports both skew and non-skew scaling, plus a selection of other transform modes
  • Support for various bone constraints
    • Inverse Kinematics (IK) constraints
    • Transform constraints
    • Physics constraints
  • Support for nested constraints by adding all updatables to a single iterable list
  • IK constraints support both uniform and non-uniform scales of it's parent bone
  • Includes physics constraints for fancy jiggle-bone movements which fluidly interact with the movements of your animations
  • Supports skins, and the ability to stack multiple skins at once
  • Supports various attachment types:
    • Plane (region) attachments
    • Point attachments
  • Event support
  • Reparent slots at runtime to give you more control over the display of your armature
  • Includes various timelines used to animate your skeleton data:
    • Bone timelines:
      • Translate timeline
      • Scale timeline
      • Shear timeline
      • Rotate timeline
    • Slot timelines:
      • Colour timeline
      • Attachment timeline
      • Parent timeline
    • Constraint timelines:
      • IK timeline
      • Transformation timeline
    • Event timeline
    • Draw order timeline
  • Interpolate between animations instantly, linearly, or quadratically
  • Blend multiple animations using a variety of "Mix Modes":
    • SK_MIX_ADD: Add the animation pose to the current pose
    • SK_MIX_BLEND: Blend between the current pose and the new pose
    • SK_MIX_OVERWRITE: Overwrite the setup pose
  • Animate your skeleton using an animation state controller, which handles the blending of multiple animations for you
  • Bake your final poses to a vertex buffer, allowing you to render multiple armatures with a single draw call

Limitations

All sprites must be located on the same texture atlas in order to be attached. This means that multi-page atlases are not possible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.