Harmony 22 Release Notes

Here is the list of changes in Harmony 22, build 22.0.0.18839 (2022-09-26):

New Features

Drawing Workflow

Feature Description
Updated Model view, now renamed Reference View

The Reference view (formerly known as the Model view) can now be used to import and display bitmap images that can be used as inspiration or as references while drawing.

Imported images are automatically saved in the scene's models folder. These reference images can then be loaded on demand in subsequent sessions using the Load Default References command.

The new Delete Current command has been added to the view to allow deleting images from the scene's models folder, without having to manually delete them using the file browser.

You can now import images and drawings into the Reference View using drag-and-drop from a file browser or by pasting images from the clipboard.

Live Preview When Drawing with a Textured Pencil The Pencil tool now displays the pencil texture as well as the thickness stencil assigned to the selected pencil preset as the line is being drawn, providing a live and accurate preview of the final line.
Paste in Place A new command named Paste Drawing Object in Place is now available in the Edit menu. Unlike the Paste Drawing Object command, which pastes a copied drawing object with a slight offset, the new Paste Drawing Object in Place command always pastes the copied drawing object in the same position as the original. The new command can be accessed from the Edit menu and has the Ctrl+Shift+V (Command+Shift+V on macOS) shortcut assigned.
Frame Drawing Selection shortcut A new shortcut command named Frame Drawing Selection has been added to Harmony. Using this command when a drawing tool is active will centre the Camera or Drawing view on the selected drawing. The default shortcut for this command is Shift+F.

Rendering

Feature Description
32 Bits Per Channel Rendering Processing

Internal render operations in Harmony can now be performed using 32 bits per channel floating point values. This provides more precision and adds support for colour values below 0 and above 1 for high dynamic range rendering and colour accuracy.

The bit depth used for internal processing can be changed between 16 bits or 32 bits per channel from the Colour Space tab of the Scene Settings window.

When 16 bits per channel is selected, scenes render as they did with previous versions of Harmony. When 32 bits per channel (float) is selected, all internal processing operations are performed with 32-bit floating point precision and does not clip colour values to 1. This allows Harmony to preserve colour values even when an effect raises the values of colours beyond white, which allows subsequent effects to recover those colours when lowering the values.

New scenes created in Harmony 22 are set to use 32 bits per channel render processing by default. Scenes from previous versions are set to 16 bits per channel for backwards compatibility.

Support for 32-bit floating-point EXR images

EXR Images saved with 32-bit floating-point colour depth containing values above 1 can now be read and their values preserved throughout the rendering process.

Harmony now also has the ability to write EXR images in 32-bit floating-point colour depth.

Displaying Colour Values

The Camera view status bar now displays the colour values of the pixel that is under the mouse when the Camera view is in Render View mode. Values are expressed as integers between 0 and 32767 when the scene is set to render in 16-bit per channel and as float values when the scene is set to render in 32-bit per channel.

Effects and Compositing

Feature Description
Bokeh Blur Effect

The new Bokeh Blur effect in Harmony simulates how a camera lens blurs out-of-focus elements based on the shape of its iris.

To simulate depth of field, an alpha matte can be used with this effect to control the amount of blur applied to different areas of the image. Opaque areas in the alpha matte will fully apply the effect while transparent areas in the alpha matte will not apply the effect. The Bokeh Blur node is available in the Node Library in the Filter > Blur category.

For more information, see Bokeh-Blur Node.

Animate Pencil Texture Effect

The new Animate Pencil Texture effect node works similarly to the Shake node but instead of shaking drawings or the camera in the scene, it applies random transformations to pencil line textures. This can be used to add life to drawings by simulating line boiling that occurs in hand-drawn animation where a new line is drawn for every frame.

The Animate Pencil Texture node can automatically detect when there is a transformation or a drawing change from its input and apply the effect to the texture. There is no need to manually time the effect and maintain the timing manually.

The Animate Pencil Texture node is available in the Filter category of the Node Library.

For more information, see Animate Pencil Texture Node.

Improved Blending modes

The blending modes available in the Blending and Composite-Generic nodes have been updated to support rendering in scenes set to use 32 bits per channel processing as well as provide closer results to blend modes from third party applications.

The list of blending modes was simplified to remove beta and legacy blending modes. However, to provide backward compatibility, Blending and Composite-Generic nodes in scenes from previous versions of Harmony will have the full list of legacy and beta blending modes. New instances of these nodes will only list the update list.

Some blend modes require values higher than 1 to be clamped in order to provide the same result as third party softwares. However, clamping limits the use of those blend modes in the context of an HDR pipeline. A new Clamping Mode attribute has been introduced to the Blending and Composite-Generic nodes to control whether values should be clamped or not.

Improvements to the Colour Curve effect node

The Colour Curve node has been improved and extended to fully support scene set to render using 32 bits per channel processing.

  • The new Clamp Output Values attribute can be used to control whether values should be clamped to the values specified in the Minimum and Maximum fields. This attribute is not available in 16 bit per channel processing.

  • The new Extrapolate Curve Bounds attribute will extrapolate the curves beyond their first and last points. This attribute is not available in 16 bit per channel processing.

  • A Zoom slider was added to allow zooming out the graph view and manipulate points beyond the 0 and 1 range.

Animation

Feature Description
New Weighted Deformer Nodes

Four new weighted deformation nodes are now available in Harmony. These can be used to create different types of weighted deformation systems and individually control their influence on the overall deformation. Multiple types of weighted deformer nodes can be used in the same deformation system for more flexibility.

The following new nodes are available:

  • Weighted Point: The Weighted Point node uses the pivot of each peg to create the deformation system. Add them to existing Weighted Deformer systems to apply different influence weights to individual groups of pegs.

  • Weighted Curve: Used to define a curve that influences the deformation system. Three types of curves are available and are built using pegs connected to the node.

  • Weighted Line: Creates a straight line defined by the attached pegs. The resulting line is used to influence the deformation.

  • Weighted Drawing: Uses a single drawing as an input that is used to influence the deformation system. The drawing defines the shape of the influence and can be transformed with a peg in order to deform the overall system.

The new weighted deformation nodes are available in the Node Library under the Deformation >Weighted category.

OGL Controller Node

The new OGL Controller node provides a pickable controller that can be used as a handle to select a drawing or a peg anywhere in the scene and that would be otherwise difficult to select. OGL Controllers are not visible in software renders and are only visible in OpenGL.

The node provides basic shapes that can be used as the graphic representation of the handle. A drawing node can also be connected to use as a custom shaped handle.

This new node is available in the Node Library under the Controller category.

Transform and Translate Tool Pivot Improvements

The following improvements were done to the graphical representation and manipulation of pivots when using the Translate and Transform tools:

  • A new preference named Use a Donut-Style pivot in the Transform Tool, located on the Advanced tab in the Preferences, changes the circular pivot of the Transform to a donut, which allows selecting anchors located under the pivot through its central hole. This preference is disabled by default.

  • A new preference named Allow Temporary-Pivot dragging in camera view, located on the Advanced tab of the Preferences, disables the interactive manipulation of the Transform Tool pivot when unchecked. This preference is enabled by default.

  • New shortcuts were added to move the position of the temporary Transform Tool pivot as well as the Translate tool pivot without having to click and grab it.

    • Move Element or Peg Pivot to Cursor: Moves the selected Element or the Peg’s pivot to the mouse position while the Translate Tool is active. The Tab key is assigned as the default shortcut.

    • Move Temporary Pivot to Cursor: Moves the Transform Tool’s temporary pivot to the mouse's current position in the camera view. The Tab key is assigned as the default shortcut.

    • Move Temporary Pivot to Default: Resets the Transform Tool’s temporary pivot to its default position. Default shortcut: Ctrl+Tab on Windows and Option+Tab on macOS

Scripting

Feature Description
Python Scripting and Python Script Console

Harmony's Python Document Object Model provides a Python representation of Harmony and its loaded project. This allows for the creation of custom tools and automation tasks that can be run from within Harmony using the new Python Script Console, or externally to Harmony from a Python Interpreter.

The Harmony Python module is compatible with Python 3.9 or later. If the module is imported from Harmony's Python Script Console view, Python 3.9.x is required.

The Python Script Console will only be available when Harmony is launched in an environment that provides the Python libraries. The Python libraries path can be specified using the preference PYTHON_LIB_PATH or by making the python executable available from the PATH environment variable.

For more information please refer to the Main Page in the Python Interface documentation. The documentation is available by opening the index.html file in the Harmony application Documentation folder:

Windows:

C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 22 Premium\help\python\

macOS:

/Applications/Toon Boom Harmony 22 Premium/Harmony 22 Premium.app/Contents/Documentation/python/

Updates to Qt Classes

Since updating to Qt 6 for Harmony 21.1 some Qt classes that were part of the QtScriptBinding packaged in previous versions of Harmony were either deprecated, replaced or were not included in Harmony 21.1.

All the missing Qt classes are now packaged with Harmony 22.

Fixes

General

  • Focus on Mouse Enter does not always work when the mouse is quickly moved to an OpenGL view. HAR-8218

  • Transform tool BBox is at the wrong position when using bitmap drawings with weighted and freeform deformers. HAR-7787

  • Transform tool BBox is at the wrong position when a Deformer is used with an Element node that has an offset. HAR-8464

  • Poor performance when a Channel-Swap node is used under a pass through composite. HAR-8340

  • OpenGL compositing order is wrong when an Apply-Peg-Transformationa node is used within a 3D scene. HAR-8518

  • Vertex colours from alembic files are missing. HAR-8304

  • The preference Element Node “Animate Using Animation Tools” Default Value is ignored when importing a multi-layer PSD. HAR-6845

  • High Discretizer Spacing values can cause the Envelope Creator to crash. HAR-7396

  • Lines are not Anti-aliased during playback. HAR-8262

  • Harmony may crash when opening a second scene if the node cache is active. HAR-8348

  • Disconnecting a cable from a Weighted Deform node sometimes disconnects the wrong cable. HAR-8535

  • Scan application crashes when attempting to import an image using the Load From File command. HAR-8350

  • H.264/MP4 is not available as an export format when running Harmony on an Apple Silicon system. HAR-8188

Drawing

  • Thumbnails are not properly refreshed in the Drawing Substitutions view. HAR-7493

  • The Stroke tool's Draw Stroke as Straight Lines and Connect Line Ends options don’t work. HAR-8416

  • Vectors are not offset when pasting them multiple times to another art layer. HAR-8436

  • The drawing view does not refresh immediately when changing the Drawing Desk's shift and trace options. HAR-8487

  • Tiny gaps at colour junctions after using the Stencil brush in Repaint mode. HAR-8417

Reference View

  • Layers cannot be dragged from the Timeline to Reference (Model) View. HAR-8323

  • Dragging and dropping a template from the Library to the Reference (Model) View does not work. HAR-8547

  • The Reference View uses the forward delete key rather than delete key to unload drawings. HAR-8539

Rendering

  • Turbulent Noise shifts when a blur effect is added below. HAR-7789

  • EXR images from “Multi Layer Write” nodes have multiple frames stacked on each other. HAR-8228

  • The Alignment Rule attribute has no effect in software renders with certain JPEG files. HAR-7335

Master Controllers

  • Master Controller rig state stops being parsed when a small or high value is met. HAR-8412

  • Adding or deleting rows and columns does not work from the Master Controller Grid Wizard. HAR-8564

Scripting

  • SCR_DrawingKey always returns null when a drawing key is provided in scripting. HAR-8407

  • Control Center’s scripting interface always renders the “Default” camera if no camera is specified. HAR-8403

  • QByteArray cannot be constructed with a string as its constructor's argument. HAR-8497

  • Invisible plus (+) and minus (-) buttons in TB_ExportToEaselJS, TB_ExportToSpriteSheets and TB_SelectionPreset. HAR-8500

Database

  • Link Server does not run on Linux if there is no X-Windows server. HAR-8563

  • Locks can be taken on the root folder, preventing locks to any other folders in the database. HAR-8556

  • Palettes are locked when batch rendering scenes if colours are recovered. HAR-8536

  • Importing scenes in batch mode crashes Control Center if the scene already exists. HAR-8503

Known Issues

  • When there’s not enough room for all the buttons in a toolbar, the extension that can be opened to access the buttons is hidden when it opens over an OpenGL view. HAR-8186

  • Touch Gestures to zoom, pan and rotate don't work on Windows. HAR-8739

  • When using Harmony on Big Sur, Harmony may crash when saving a colour in macOS’s native colour picker. HAR-8032

  • Database scenes that have a custom path cannot be copied using Control Center. HAR-6386

  • Stroke remains in place after removing the last point of a branch with the centreline editor. HAR-5994

  • On macOS Mojave, GateKeeper prevents launching Harmony unless the quarantine extended attribute is removed from the application bundle. The quarantine extended attribute can be removed using the following command in the Terminal:

  • $ sudo xattr -dr com.apple.quarantine "/Applications/Toon Boom Harmony 21.1 Premium"