dunno how to achieve this effect I want (2D skeletal animation?)

Started by
2 comments, last by Amr0 11 years, 2 months ago

Its all 2D

See, I want interdependent animation between sprites (not frame by frame animation, I mean position and rotation)

Imagine the classic 2 gears example, if you rotate one gear by some amount (thats my first need, its not discrete animation, I need full percentage of rotation) the other will rotate due the first.

I want to create more complex stuff, things like locomotive wheels, and I want they to move by a specific amount each time (dependent, for example, on player score or something)

How exactly do I do that? Im so confused..I just (will) have the sprites of each piece in the mechanism thing, Id probably need to specify in mathematical therms a full "revolution" (loop) of the system, like a bone anim system, will I have to use a 3D program to do that? Then I started guess, "hey, the rotation of wheels is easy, now that rect is fixed at that point on the wheel, and the other end at.." so this is forward kinematics anim right?

Hows the best way to accomplish that?

Advertisement

You seem to be complicating yourself unnecessarily. Just figure out how to draw rotated sprites in the language/API you're developing with, and then set up the sprite locations and rotation speeds in code to achieve the effect you're after.

I've just had a quick look at your deviantart gallery, and it's easy to say you're very talented! On the other hand, it sounds from your question that you will need a lot of learning effort before you are able to program anything significant. With the risk of sounding like a cocky unhelpful schmuck, if you are looking to make a game, I would suggest that you team up with a programmer to do the coding, and you can focus on the art. Head to the "Classifieds" section of this site. With such good art talent, and hopefully a good concept of a game, finding a decent programmer to team up with may be the best route.

But if you still want to pursue this further, it would be helpful to anyone who wants to help you if you mention the programming language and graphics API you are using. Best of luck.

Though I am not 100% sure what you want to achieve, remember that frame by frame animation can be automatically interpolated at runtime to ensure much smoother animation.

Out of interest, if you did want true 2D skeletal animation, you could pretty much do it in exactly the same way as 3D. For example you could split your 2D image into individual parts and perhaps attach the corners of each part to a 2D "bone". Give it some weightings and then run it through an appropriate shader (OpenGL / DirectX etc...). So you probably could get a morphing effect...

Would be quite interesting to see how you get on if you do attempt it (unless this has already been attempted).
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

You seem to be complicating yourself unnecessarily. Just figure out how to draw rotated sprites in the language/API you're developing with, and then set up the sprite locations and rotation speeds in code to achieve the effect you're after.

I've just had a quick look at your deviantart gallery, and it's easy to say you're very talented! On the other hand, it sounds from your question that you will need a lot of learning effort before you are able to program anything significant. With the risk of sounding like a cocky unhelpful schmuck, if you are looking to make a game, I would suggest that you team up with a programmer to do the coding, and you can focus on the art. Head to the "Classifieds" section of this site. With such good art talent, and hopefully a good concept of a game, finding a decent programmer to team up with may be the best route.

But if you still want to pursue this further, it would be helpful to anyone who wants to help you if you mention the programming language and graphics API you are using. Best of luck.

Wow, you racist sun of a bitch

Ok, now that I've read your original question again, it appears I had mistook it for a simpler question about how sprite rotations work in general, and not about how to calculate sprite rotations and locations when they are connected with each other at multiple points. I would appreciate it though if you could refrain from personal insults.

If the setup is complex enough, a 2D physics library could be the best way to go, unless you _want_ to solve this by yourself. The math involved is not so simple.

This topic is closed to new replies.

Advertisement