How do I create mesh-deformating bones on a sprite animation?

0 favourites
  • 5 posts
From the Asset Store
Fully commented source code/event sheet & sprites to create a space shooter game
  • Hello, is it possible to create a series of bones allowing animation for a single sprite?

    For example, I have drawn a dinosaur with a long tail. Can I define bones for this tail to animate it easily, or have I to cut it in small sprites, and then animate each of them with a bone in Spriter?

    I know Spriter can do the painful solution, my question is to know if the easy solution of keeping a single-sprite with multiple bones deformating the sprite can be handled either by Spriter or Spriter 2 (if Spriter 2 is released and functionnal within Construct 3), or by Construct Animate.

    Maybe Construct Animate can do this kind of things? Or if not, is it planned that it can this kind of things in the future?

    Thanks for your help! :)

  • I'm not very experienced with mesh deformation myself, but I imagine you could use some invisible helper objects with image points in place of bones to use as reference points for mesh deformation. It would probably still be significant work and math heavy since you don't have any built in inverse kinematic systems to assist in keeping everything connected and in place. I think we currently do have the tools to set up the necessary constraints, it would just be difficult.

    Either way from a visual design perspective splitting up a sprite into multiple individually deforming pieces is always going to give you a significantly superior result than trying to deform one large sprite.

  • I was curious about the math so he's an attempt. I got much of the math from this skinning tutorial.

    webglfundamentals.org/webgl/lessons/webgl-skinning.html

    dropbox.com/s/o6s9wuot219egx0/skinning_test.c3p

    Making the mesh itself and weighting it is probably one area it can be improved. How the verts are weighted now makes the joints turn sharply. I just had it linearly blend the weights between the verts.

    Another idea is to make a curve fit through the points to make the distort.

    Also here is an idea to do the ik without trig, if needed.

    iquilezles.org/articles/simpleik

    Anyways, as always just some ideas and preliminary attempts. Hope it's useful in some way.

  • Wow, thanks a lot for the reply and the preliminary work on the math. oO

    I understand there is no easy solution for doing this in Construct 3 or Construct Animate.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Here's another test. It let's you distort the mesh with as many or as few points you like. The points act like bones with no rotation and each meshpoint are influenced by four bones to various degrees. It's a different way to manipulate a mesh I suppose.

    dropbox.com/s/9edglsbc529muco/skinning_test4.c3p

    An improvement would be to make it work with rotatable rectangles as bones. The

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)