Krita 3.0 turns into a 2D animation tool

Krita [1] was originally developed as a universal image editor for Linux and came as part of the Calligra [2] office suite. Over the course of time, the developers concentrated more and more on the painting and illustrator functions in the application. As a result, Krita has begun to target mostly comic book illustrators and illustrators in general rather than photographers.

The release of Krita 3.0 at the end of May marked the beginning of an another important chapter in the application's history. This release comes with an animation function, as well as an improved layer dock. In addition, the grid tool and the alignment function have been redone. This has opened Krita up to a wider circle of creatives including cartoonists and game developers.

What's New

Krita 3.0 contains a multitude of smaller and larger improvements. In order to quicken the pace of work on the project, the developers sought funding through a Kickstarter campaign [3] (see also the "Krita 2016 Kickstarter" box). The team set two goals for itself. The first was to reduce the compute time for drawing operations, thereby accelerating the rate of display. The second goal was to address the wish list of the crowd-funding supporters and create animations. The developers achieved both goals and then went even further and created other improvements.

Krita 2016 Kickstarter

The Kickstarter campaign for 2016 [4] brought in EUR$38,579 (~$42,000) for the project coffers. The developers want to stick the money into improvements on the text tools and the vector illustration functions. Given the many donations, the project also plans to implement the import of audio files into animation, as well as a Python scripting plugin.

Users of previous versions complained about the slow editing speed for actions that affect larger image areas. The new Krita rendering engine, Instant Preview [5], has proved to be a reliable helper. It works as follows. In painting mode, the program displays only a preview, which corresponds to the current zoom level. Krita will calculate a complete resolution of the brush stroke in the image once the action is closed. The further the user zooms out from the image, the faster the preview will work. This feature has an especially positive effect for larger projects. Krita uses the accelerated preview with the freehand brush, for moving contents and for filtering and animation. Therefore, Instant Preview is a significant addition to the entire application.

The layer dialog has also been improved (Figure 1). Here, the user can set up layer groups via Ctrl+G and then ungroup the layers via Ctrl+Alt+G. Colored tags keep track of multiple layers in a project and also make it possible to filter out layers. Unlike the previous version, most actions are now only performed on layer groups or a selection of several layers.

Figure 1: In Krita 3.0's newly designed layer dialog, layers can be grouped and then organized with tags.

The developers have also worked hard on a function trio, which includes grids, guide lines, and snapping. The grid dock is called via Settings | Docking Dialog | Grid and Guides . It replaces the old grid tool. The grid dock makes it possible to create guide lines. The paint tools can either automatically snap onto the lines or use the lines solely as a visual anchor.

Krita 3.0 supports docking for vector points, paths, the cover surface of a free form, guide lines, and grids. Additionally, docking is supported for border and middle lines in a document. The snap function shows its strengths especially when combined with vector tools. The function provides a solid basis for the upcoming work that is to be done next year on the text and vector functions. Krita saves settings directly in the document or in the template so that layouts can be reused.

Additional smaller changes are apparent throughout the program. These include a completely new process implementation called "gradient mapping" and the possibility of making selections via key combinations. The integration process for graphics tablets has been completely overhauled, and the program supports a large selection of tablets. Under the hood, the developers ported the code for Krita 3.0 to Qt 5 and KDE Frameworks 5. This makes it easier to program, maintain the source code, and implement new functions.

However, the centerpiece of the innovations completed for the first release of Krita 3.0 consists of the program's animation capabilities. Other new functions build out existing drawing tools. The animation tools open up an entirely new pool of Krita users. These include illustrators in animation such as Manga or Comic clips. Although Krita supports animation for the first time with the 3.0 version, the program offers a large palette of functions that both enthusiasts and professional illustrators are able to appreciate.

Tools for Animation

Currently the animation tool primarily targets illustrators who use the traditional method of creating an animation, that is to say image by image. This means that a few limitations exist in the program. Tweening, a process whereby intermediate images are automatically interpolated between two key frames, is not yet supported by Krita. Also, Krita does not import audio files into the timeline. However, the functions are already on the developer's to-do list for the next version.

The familiar tools are still there for creating individual frames. Selection and transformation tools plus filters are also there. The user can even work with expanded options like Alpha Inheritance [6] in order to make indestructible shadows for figures. Alternatively, the user can add filter layers for creating a layer-based compositing. However, vector layers cannot be animated.

Krita offers three new docks under Settings | Docking Dialog for designing animations. The user shows the docks with a right mouse click on the scroll-down menu that is underneath the icon at the upper right of the application window (Figure 2). The three docks will then queue up below in the sidebar.

Figure 2: The best way to open the new animation docks is via the work area manager, which sits at the upper far right of the application window.

Animation Docks

The timeline allows the user to administer key frames and animation layers. Animation filmmakers spend a lot of time on these actions. The dialog lets the user add key frames and delete or duplicate existing frames (Figure 3). Animation layers can be pinned on the timeline or removed. A left click on the narrow strip directly above the timeline selects the corresponding frame. By holding the mouse button down and moving the cursor to the right or left, the user can play the animation as indicated by the movements of the mouse.

Figure 3: The Timeline dock lets the user administer the animated layers and also each individual frame.

The user will find the universal settings for the film in the Animation dock. This is where the user specifies the start and end frames, the playback speed, and the frame rate (Figure 4). Krita uses these options for playback inside of the application as well as for exports to a video file (currently only in the form of a picture sequence). Krita offers classic media player buttons in the lower area. These include buttons for playback, navigation to the next frame or key frame, or fast forwarding to the end. However, the quicker way to access these functions is to set up key combinations for shortcuts under Krita | Animation , which in turn is found under Settings | Install Krita … | Keyboard Shortcuts .

Figure 4: The user specifies the length of the animation, the frame rate, and the playback speed in the Animation dock.

The purpose of the Onion Skins dock (Figure 5) is to give the user control over the schematic representation of the images lying in front of and behind the frame currently in the work area. The transparent images, which have been placed underneath the current frame, help the user develop a feeling for the correct animation path, as well as how to cleanly draw intermediate animation images. In order to control visibility of the key frames, the user should tap on the numbers -10 to 10 in the top part of the dock. The height of the bar corresponds to the transparency of the relevant frame. The lower the bar, the less visible the frame. Underneath the bar, the user can also specify the color of the frame on the screen.

Figure 5: With the Onion Skins dock, the user can transparently show the images occurring before and after the current frame in the drawing area.

Designing Animation

If the docks that have been newly created for the animation have been loaded, then the user can specify the frame rate and the animation speed in Animation for the relevant dock. The user should enter the frames that are to be animated in the Start and End fields (for playback and export). The large counter to the right indicates the frame currently activated for drawing.

The tempo for the animation is controlled via the two fields Play Speed and Frame Rate that sit underneath. The frame rate lets the user know how many frames per second (FPS) Krita packs into the video. As a rule, a fluid animation requires at least 24 (FPS). The Play Speed setting only influences Krita's internal processes. The playback speed can be decreased by using a value less than one. Reducing the speed makes it easier to find any errors that might exist in the animation. Krita ignores this setting when exporting the video.

When working on animation, users frequently utilize the six buttons sitting next to these settings. These handy buttons are arranged in a grid that is two buttons by three buttons in size. The first row of buttons lets the user set up a new key frame and duplicate or delete the current frame. Underneath are buttons for telling Krita to either show or hide the Onion Skin dock, as well as whether the program should set up a new key frame for each use of the drawing tool. The last button causes Krita to only display key frames. This feature is advantageous for large projects and makes fluid playback possible.

The Timeline Dock

The Timeline Dock is divided into two areas. The user will find a list of all drawing layers and a series of switches in the left column. Users will recognize the switches from the conventional layer dialog.

The only thing new here is the icon with the light bulb. It indicates a function by which the user can individually control onion skinning for individual layers. The element will only appear if the user has set up at least one key frame on the layer.

The user designs and administers the individual animation frames in the right-hand column of the Timeline dock. Each of the small squares represents a frame. Grayed-out boxes symbolize simple intermediate frames. Blue-colored fields on the other hand represent a key frame. The numbers above the timeline indicate the position for each of the frames. This information is also found in the Animation dock.

In order to create a key frame, the user should tap with the right mouse button on the corresponding square and select the New Frame option from the context menu. The Copy Frame option lets the user accept contents from the previous key frame. This function provides an easy method for creating simple placeholders during the design phase. If the user has activated the frame mode from the Animation dock, Krita will automatically create a key frame on the screen with each stroke of the brush. Alternatively, the user uses the mouse to select the desired box and presses on the back button.

Key frames are now relatively easy to administer via the mouse and the arrow keys. Using drag and drop, the user drags a key frame to the timeline. Holding the Ctrl key down at the same time will let the user copy the frame once the key is let loose at the target location. Holding the Alt key down lets the user move the selected frame together with all of the succeeding frames. Clicking on one of the boxes and then pulling the mouse with the left mouse button creates a multiple selection. Then, when the animation is played back, Krita will loop through only the frames that have been selected.

Importing and Exporting

Krita lets the user import animated sequences, however only in a simple form. Support for Sprite Sheets [7] has been put on the schedule of things that need work. Game developers will still have to exercise some patience.

In order to import frames, the user needs to have a series of sequentially numbered frames with the same reference name, so something like frame_00 , frame_01 , and frame_02 . Input is performed via File | Import animation frames… . The user opens a file manager in the dialog via Add images… and selects the frame series that will be imported (Figure 6). In the default setting, Krita imports the frames according to their numbering. The sequence can be reversed in the window sidebar.

Figure 6: Krita 3.0 does not have import and export routines for animations. The program exports individual frames that the user then assembles into a video.

Krita 3.0 also still limits exports of animation to frame sequences. Therefore, the user will need external tools such as FFmpeg, Gimp, or ImageMagick in order to generate a final video file or an animated GIF frame. However, the Krita developers would like to implement an improved export routine in version 3.0.1. July 15 has been set as the release date.

In order to start an export, the user should enter Export… from the File menu. Then a file name and the desired format are entered into the file dialog. It is a good idea to select a lossless compressed format like PNG. Krita then generates a new image for each frame with the number as a suffix. The first frame that is exported corresponds to the start frame loaded onto the Animation dock. The last export corresponds to the end frame. In order to maintain a good overview of the process, the user should set up a new folder for every sequence that is exported.

Setting Up Keyboard Shortcuts

Krita comes without any keyboard shortcuts in the default configuration. As described at the beginning, the user should set up shortcuts at least for navigation between individual frames and for animation playback and pausing. The shortcuts are created via Settings | Set up Krita … | Keyboard Shortcuts and then Krita | Animation .

The user opens the desired action in the corresponding dialog (Figure 7) and taps on the button None . Afterwards, Krita waits for the user to enter a key combination. The assignment can be deleted with the adjoining button. In case the user selects a key combination that is already in use, Krita will indicate that there is a conflict. Then the user can either choose a new combination or delete the current assignment and activate the new one.

Figure 7: Setting up shortcuts in Krita, which cover the most important actions, makes for speedy work on animations.

Animation filmmakers have found a number of shortcuts to be very helpful. Ctrl+Plus lets the user add a new frame. Similarly, the user can create a new drawing layer with Plus. The arrow keys are used in Krita to move an element on the drawing layer to the left and the right, as well as up and down. In order to switch from one frame to another, the user can utilize Ctrl+Left Arrow and Ctrl+Right Arrow. The shortcut Ctrl+A is available for playback and pause in the default configuration. Blender users use the same key combination for this action. Alternatively, the user can select the Space key for this.

Conclusion

The biggest advantage to the Krita animation tools is that they are harmonized with functions already existing in the program. Vector graphics are an exception here. Therefore, users can continue to use their favorite brush, select each element, use transformations, and apply masks. Functions that have been expanded, such as the Multibrush tool and the Wraparound tool [8] introduced in Krita 2.8, also work smoothly. Krita even lets the user directly create a group of filter layers with pass-through blending and compositing effects.

The Krita animation tools will remind veteran illustrators of Clip Studio Paint [9] (also known as Manga Studio) and TVPaint [10]. Krita combines classic frame-by-frame animation with a complete set of digital paint tools. The brush has a natural feel, and textures appear to be hand painted. The developers have packed all of these features into an ambitious open source program that enjoys a fast growing community.