There are quite a few things to take into account when creating game assets in Harmony. The most important step before asset creation is to decide on the export type.
Choosing an export type
The type of export you use will greatly affect the method of asset creation. For more information on the different types of exports, see What are the different types of game exports in Harmony?
- Rigged Animation Export: This type of export is ideal for light assets. It also allows for the export of information like rig hierarchy, Game bones, cutters etc.
- Frame-by-Frame Export: This type of export results in heavier assets. It allows you to use any Harmony tools to create assets, including production rigs and paperless animation as everything will be flattened into sprites during the export process.
Because Frame-by-Frame export allows you to use any features to animate game assets, the rest of this article will focus on guidelines for the creation of assets for Rigged Animation Export.
Using cutters in game assets for Rigged Animation export
The Cutter node in Harmony is used for masking drawings using custom shapes. The game engine SDK implements both regular and inverted cutters with the following limitations:
- For a sprite, only a single cutter drawing can be applied when it is rendered. This also applies to a composite of multiple matte drawings. The game engine SDK will only use the first matte drawing during rendering and discard the others.
- You cannot 'daisy chain' one Cutter's output into another Cutter's input.
- A deformed drawing cannot be cut, but a cut drawing can be deformed. Make sure to apply cutters before deforming drawings.
Using Game Bones in game assets for Rigged Animation export
Game Bones are the only deformer type in Harmony that can be exported without baking.
The following properties apply to Harmony Game Bones:
- Can be exported to the game engine in XML format.
- Can be set up and animated just like the regular Bone deformer.
- Can be used with a Kinematic Output node.
| NOTE: If you use Morphing or deformers other than Game Bones, you’ll need to bake out the drawings when exporting. See How do I export animations to Unity that contain non-compatible deformers or effects? |
Rigging guidelines for Rigged Animation Export game assets
When rigging for RA export, keep in mind that some nodes are not supported by the exporter. As a result, the node structure would not be interpreted well by game engines. It is therefore recommended that you avoid using complex node structures like you may find in Harmony production rigs.
The following is a list of general guidelines to keep in mind if you plan to extract the game data:
| Item: | Guideline: |
| Naming | If you have a top-level Group A, which has a child group inside it (Group B), and a drawing layer is inside of Group B, then the drawing layer is exported as A_B_DrawingLayer. The Unity game engine does not support Unicode characters, it is recommended to avoid using it in scenes intended for games. |
| Drawing tools | You can use any of the drawing tools you want: Pencil and Brush tools, textured lines, solid fills, and gradients. |
| Pegs | All peg paths should be set to ‘Separate’. You can change this to default in the Preferences window. |
| Peg hierarchy | Attach drawings to pegs and connect those pegs to other pegs to form hierarchies. Connect all pegs to a single Master Peg at the top of your Node view. |
| Pivots | Use the Advanced Animation Rotation |
| Composites | Drawings should be connected to composites to determine the order of drawings shown on-screen. |
| Z-space | It is best to set this up on the game engine side. |
| 3D-space | Don’t use 3D space in Harmony. Rather set it up in your game engine. |
| Game Engine layers | Each game asset should exist in its own scene with its animations. |
| Cutters | See Using cutters in game assets for Rigged Animation export above. |
| Game Bone Deformations | See Using Game Bones in game assets for Rigged Animation export above. |
| Export position | Be mindful of where you put your character before exporting. The master pivot of your exported game object will be the center of your Harmony scene (0,0). |
| Display | Be sure to have a Display at the bottom of your hierarchy. |
| Scene Markers | Use scene markers to separate animations and skins. For more information on skinning, see Scene Marker View & Marker List and What gaming animation workflows exist in Harmony? |
| Metadata Notes | You may want to make notes about the scene or specific parts of the character/prop for the programmer. These embedded notes will be exported with your assets to Unity. See Creating Metadata Notes for more information. |
| NOTE: You are still able to use more complicated node structures within 'bake_groups'. See Using Bake_Groups. |