Sunday, June 28, 2015

Fun with onion skins

The first new feature of the GSoC project on animation in Krita is has landed in git. Until now, I have been mostly concentrating on refactoring the core structures toward their final form, which has taken much more time than I anticipated. Fortunately, it is now mostly done, and I am getting to the point where progress is more visible.

In addition to better organized code, we now have fully functioning onion skin rendering. It comes complete with independent opacities for multiple skinned frames and coloring future and past keyframes. The user interface for changing these settings is still missing, but will be coming soon. Currently the settings can be adjusted by manually tweaking Krita's configuration file.

Onion skins in action
I did a little test animation this weekend, and found the combination of proper onion skins and Krita's powerful toolset (esp. free transform tool) made it very easy to tweak and adjust my roughs. It's a joy to work with good tools. I have high hopes that animating in Krita will be a very pleasant experience.

For the adventurous among you who are itching to try it out, and know how to compile Krita, the code is available in the krita-animation-pentikainen branch. I must warn you, however, that while it is beginning to get into a semi-usable state, it's still very unstable and definitely not ready for any sort of production work. Also, files created with it will likely be incompatible with future versions.

Now that I'm at the stage of implementing new functionality, I hope to bring more frequent updates of new developments during the rest of the summer.


  1. Awesome update!! I am very excited over this. :)

    I know it is a WIP interface, but can you make the size of the play/stop/etc buttons smaller? From and to input boxes can be brought one next to each other - at the moment the "animation" box is taking a lot of vertical space.

  2. will it be possible to toggle onion skin on/off on a per layer basis?

  3. This comment has been removed by the author.

  4. Whoa, Cool!

    Does the animation window support multiple views?

    For example, can I draw on one view at zoom: 120% + animation: paused + onion skin enabled, while another view is at 30% zoom and it's loop-playing the animation with no onion skin? (i.e a main window and a test window).

    Also, a small suggestion if I may: have an option to only play (and loop through) specific frames "groups", i.e create tags for groups of frames that enable you to name (and play) different animations on the same timeline (as in: "Running", "Walking", or on bigger scenes: "Picking up the Glass" and so on) so the user won't have to mark the frames every time.

    These two features combined would be very helpful for voluming (you can have different parts of the animation playing simultaneously in several views).

    1. Thanks for the suggestions.

      Animation does work with multiple views. At the moment it's not quite as flexible as this, though, since onion skins apply equally to all views and playback.

  5. Great work. Appreciate everything you've done so far.

  6. Great work. Appreciate everything you've done so far.

  7. Hi, thank you for your contribution. I'm looking forward to animate in krita.

  8. This comment has been removed by the author.