Working in 3D

Importing 3D

Manipulating 3D Objects

Manipulating Subnodes

3D Rendering

Harmony is able to integrate 3D models into your animation. Any 3D objects that are imported into your Harmony scene can be manipulated on both its geometry and bones by translating it, rotating it or scaling it on the X, Y and Z axes.

NOTE In order to access and manipulate the bones of your 3D object, Vulkan 3D Rendering will need to be enabled.

For more information on Vulkan 3D rendering, see Vulkan 3D Rendering.

Harmony can support the following 3D objects:

  • Filmbox (.fbx)

  • 3DS Max (.3ds)

  • Wavefront OBJ (.obj)

  • Allembic (.abc)

  • Collada (.dae)

  • USDZ (.usdz)

By default, a 3D model in a Harmony scene will be rendered using OpenGL or Vulkan, which will render the model at fast quality intended for previewing. To render a 3D model at a higher quality or as a beauty pass, you must configure your scene to render the model with an external application, such as Autodesk Maya or Blender.

Importing 3D

Any 3D object created in both Maya and Blender can be imported into your Harmony scene. There are two main methods for importing 3D objects and they are the following:

  • Importing it as a 3D model: This method allows you to manipulate and animate the 3D model in all three dimensions, to separate and animate its sub-nodes, and to render the 3D model through Autodesk Maya using your preferred rendering engine when rendering your scene.

  • Rendering it as a 2D layer: This method allows you to render the 3D model from a fixed position and angle and import it into your scene as a 2D bitmap layer. This is mostly useful if you intend to use the 3D model as a reference to draw backgrounds, characters or props. This will keep your scene lighter.

The 3D object that is being imported can either be static or contain animation. By default, a 3D model will be imported with only the first frame exposed. If it was animated in a 3D software prior to export, the 3D project file will contain the animated information.

In order to import a 3D object with animation, it must be imported in one of the following file types:

  • Filmbox (.fbx): This file type can be imported with their subnode animations. This means the geometric transformations on each subnode in each frame of the model can be imported and played out.

  • Alembic (.abc): This file type can be imported with their deformations baked into every frame. This is useful if you need to use models that are animated with deformations. However, Alembic files do not have texture and hence appear solid white in the preview.

If the 3D object has been exported with animations in it, Harmony can play out its animation in the scene, manipulate the animation and render the 3D object with its animations later.

For more information about importing a 3D object that contains animation, see Importing Animated 3D Sequences.

Manipulating 3D Objects

Once you have imported the 3D model into your scene, you can easily manipulate it to set up your scene. You can even add keyframes, just like any other element, and animate it on a trajectory.

Once the 3D option is enabled, your transformation tools automatically become 3D transformation tools. This means you can now manipulate them on the Z-axis as well. The Translate , Rotate and Scale tools are found in the Advanced Animation toolbar and the Transform tool can be found in the Tools toolbar. You can use these tools to set up or animate your 3D model.

For more information about manipulating 3D objects, see About 3D Object Manipulation and Animation.

Manipulating Subnodes

A 3D model can be rigged so that different parts of it, referred to as subnodes, can be subjected to their own geometric transformations.

In order to animate a 3D model subnode, you must connect the 3D object's node to a Subnode Animation node, which will store the animation information for each of the model's subnodes that you animate.

Using the 3D Graph view, you can see the list of subnodes available for the selected 3D model. Each subnode represents a part of the 3D model that can be transformed and animated independently, or even hidden. Like with peg hierarchies, subnodes that are children of other subnodes will be transformed along with their parents. If you select a subnode in the 3D Graph view, it will be highlighted in the Camera view, and the Transform tool will be set to manipulate that subnode rather than the whole 3D model.

There are three types of subnodes that appear in the Subnode List. They are the following:

  • Geometry Subnodes: Identifies the polygonal shapes that construct the mesh of a 3D model. These shapes appear in the Render view and can be transformed with the Transformation tool.

  • Bone Subnodes: Identifies all the bones in the armature of the 3D model. Each bone will be listed based on its place in the hierarchy of the armature. By articulating the bone, the mesh of the 3D object can be transformed, affecting the geometry.

  • Transformation Subnodes: Applies an offset or transformation to an attached mesh and/or bone. When transformed, the subnode will apply its transformation to all connected children in the subnode graph. The Transformation Subnodes do not contain geometry or bone definitions and only supply a transformation.

For more information about the 3D Graph view, see 3D Graph View.

Bone Skinning

Bone Skinning refers to the ability to articulate the bones in a 3D model’s armature and have the geometry of the model transform with the armature. In order for the Toon Boom software to access the armature, the 3D object must be imported in a supported 3D file format and Vulkan 3D Rendering must be enabled.

3D Rendering

In order to properly render 3D models in Harmony scenes, both the scene and your workstation must be configured to allow rendering the model through Autodesk Maya or Blender. This is required to render the 3D models with the same rendering quality as originally intended. Otherwise, Harmony will use OpenGL to render the 3D model, which might not give the expected results.

Harmony uses the original Autodesk Maya or Blender project, to which it applies the transformations done on the model and its subnodes inside the scene, and sends it to Autodesk Maya or Blender for rendering. Then, it takes the rendered image and composites it with other elements in the scene to create the full image. This works just as well when outputting the final rendering images as when switching to Render Preview mode in the Camera view.

When rendering a 3D object through Autodesk Maya or Blender, the object will be rendered using the rendering engine its project file is configured to use. You may change the rendering engine used by selecting it in the layer properties of the Render Maya Batch Node or the Render Blender Batch Node. It is important to always use the rendering engine the model was intended to be rendered with.

Harmony supports the following rendering engines:

  • Maya:

    • Mental Ray.

    • Renderman Reyes.

    • Renderman RIS.

    • Arnold.

  • Blender:

    • Cycles.

    • workbench.

    • Eevee.

Render Maya Batch Node

The Render Maya Batch Node can be used to render a 3D model through Autodesk Maya while operating in Harmony. When a render is launched, The Render Maya Batch Node will take the 3D model as its input, render it through Autodesk Maya, then composite the rendered image into the Harmony scene. The 3D model rendered by Autodesk Maya will appear in Harmony in both the final rendered image and in the Render Preview mode in the Camera view.

When Autodesk Maya is launched through Harmony, Autodesk Maya will stay live and receive render requests from Harmony for the duration of the Harmony session.

For more information about the Render Maya Batch node, see Render Maya Batch Node.

Render Blender Batch Node

Harmony can render 3D models through Blender. The Render Blender Batch Node has the same functionality and behaviour as the Render Maya Batch Node.

The Render Blender Batch Node can be used to render 3D models through Blender while operating in Harmony. When a render is launched, The Render Blender Batch Node will take the 3D model as its input, render it through Blender, then composite the rendered image into the Harmony scene. The 3D model rendered by Blender will appear in Harmony in both the final rendered image and in the Render Preview mode in the Camera view.

When Blender is launched through Harmony, Blender will stay live and receive render requests from Harmony for the duration of the Harmony session.

For more information about the Render Blender Batch node, see Render Blender Batch Node.

External Rendering Toolbar

The External Rendering Toolbar contains four actions to allow you to communicate between your source 3D scene and Harmony in real time. These External Rendering actions will allow you to render using an external 3D software, bake the 3D information into your Harmony scene or bake it into an external 3D project file.

The four external rendering actions are as follows:

  • Render Nodes: The Render Nodes action will render your 3D scene through an external 3D software. All the renders made will appear in the cache of the elements folder of your scene. This means that after the initial render, the 3D software will no longer need to re-render materials as you scrub through the frames while in the Render view.

  • Bake Nodes: The Bake Nodes action will allow you to render out a 3D sequence through Autodesk Maya or Blender and save it as a sequence of EXR files. By baking the rendered 3D information into an EXR element node, Harmony will be able to load the rendered images without relaunching the 3D software or re-rendering. The rendered frames will be available as bitmap images and will be available in the camera view and in the soft render preview.

  • Bake to External Project: The Bake to External Project action allows you to create a new project file in the external 3D software containing all the animation and transformations on the 3D model from Harmony. This action allows you to send the keyframe animations, transformations, subnode transformations and camera manipulations made in Harmony back to the original 3D software and saved to a new project file. These changes will be made in the new file, preserving your original 3D project file. This allows the 3D project file to be updated, shared and rendered externally.

  • Cache Manager: The Cache Manager is a utility that allows you to manage the caches generated when the RenderMayaBatch and RenderBlenderBatch nodes are used. When a RenderMayaBatch or RenderBlenderBatch node is selected, all available cache entries for that node will load in the Cache Manager.

For more information about the External Rendering toolbar, see External Rendering Toolbar.