dalboris / vpaint

Experimental vector graphics and 2D animation editor
http://www.vpaint.org
Apache License 2.0
733 stars 54 forks source link

Skeleton #71

Open algorev opened 7 years ago

algorev commented 7 years ago

What would be a nice feature would be to have a kind of skeleton system, like in 3d animation, that would affect the vertices nearby and treat edges like skin. I think that would be nice and that splines are more adapted to this than the current raster techniques. I've never heard about such a thing for vector graphics anywhere else, and that would be long, painful, and complicated to program, but please close this issue if you deem this suggestion useless, as this is just an idea.

dalboris commented 7 years ago

It's actually a very common technique not only for 3D animation, but also 2D animation. For instance, it's been part of ToonBoom since a long time. In fact, skeletons have been invented for 2D animation before 3D animation was even a thing! Here is one of the earliest research paper in computer animation, by Burtnyk and Wein in 1976, which introduce them for the first time: http://dl.acm.org/citation.cfm?id=360357

algorev commented 7 years ago

It seems to be more developed in 3d, due to different needs. I saw the current techniques for raster graphics, and what i saw seemed quite limited, but i never heard about a similar thing for vector, though it would be very useful with splines, as much as with meshes, as it would allow more intuitive deformations of splines. I think this is the same problem as with meshes.

dalboris commented 7 years ago

It's definitely more developed for 3D animation, for various reasons. But fundamentally, 3D animation is nothing else than 2D vector graphics animation with a 3rd dimension. Everything that can be done for 3D animation can be done for 2D vector graphics animation. :-)

(I mean, everything can technically be done in 2D. In practice, it may not make a lot of sense to do it, since the kind of geometry you need to author in 2D is quite different from the kind of geometry you need to author in 3D)

algorev commented 7 years ago

It also would definitely be cool to do it in vector, i think, because it would allow the same things than with raster now, but with splines, and this would really give a living side to things thus animated, because, you see, the wouldn't just rotate their parts. They would stretch! deform! they would be actually flexible! They wouldn't look like puppets! They would be, they would be alive!

dalboris commented 7 years ago

I like your enthusiasm :)

Though, note that the workflow which I want to promote in VPaint is rig-free (as close as possible to the trad 2D anim pipeline) so implementing skeletons are very low-priority. Objects in VPaint are not supposed to live across several frames. You manually draw each keyframes, and VPaint helps you for the inbetweening. This workflow makes the objects even less rigid, more alive! Though, there are of courses many cases where rigging would be useful, so eventually I would like to have this too -- it's just not my priority.

algorev commented 7 years ago

Okay 😃 !