Nofrag | Forums | Blogs (jeux)

Procedural Animations for DAG Skeletons

My pet project is becoming solid enough so I can talk about it and show some gifs.

It’s a little app that allows you to build and animate characters.

It’s build for my artistic needs and is not suitable for someoneelse.

Nevertheless, I think I can share some results. Few things might be usefull in other projects.

My goal is to build and animate highly stylized characters made of colored boxes.

It’s a followup of a character I made some months ago.

First things first. A character is made of a DAG aka skeleton.

The nodes are 3D positions. The links are constrained springs.

Wich are: length(min/max), angular limit and back to equilibrium speed.

Each link can have a volume box. I multiply the box widths by (length/rest length).

I removed IK in favor of bezier spline. I spawn cubes along the bezier path.

For the animation part, I generalized it using circular motor.

A motor will describe a convolution around a node. The link will try to catchup that point.

The circle can be aligned with the node velocity allowing some kind of walk.

A long revolution to make the head nodding. And a slow one to make him breath.

Each motor has its own time start so you can have unsynchronized legs.

Constraint and spring solver is around 200LoC. Red rings are motors aligned with node velocity.

Thanks for reading :)

4 commentaires pour “Procedural Animations for DAG Skeletons”

  1. Darkstryder dit :

    C’est trop bien. Super taff skaven !

  2. __MaX__ dit :

    Les animations sont trop cool, ça file vraiment du charisme aux petites bestioles et personnages, joli taf.

  3. epsylon dit :

    Excellent! Si tu pouvais expliquer un peu plus en détail ça serait cool!

  4. Holi dit :

    Très cool! Artistiquement très sympa!

Laisser un commentaire

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

XHTML: Vous pouvez utiliser ces tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img src="" alt="">