Toon Boom
Harmony22
Jeux

TOON BOOM ANIMATION INC.

+1 514 278 8666

4200 St.Laurent Blvd, Suite 1020
Montreal, Quebec, Canada
H2W 2R2

contact@toonboom.com
toonboom.com

Jeux

Mentions légales
Toon Boom Animation Inc.
4200 Saint-Laurent, Suite 1020
Montréal, Québec, Canada
H2W 2R2
Tél. : +1 514 278 8666
Fax : +1-514-278-2666
toonboom.com

Clause de non-responsabilité
Le contenu de ce document est la propriété de Toon Boom Animation Inc.; il est protégé par le droit
d’auteur.Toute reproduction, en tout ou en partie, est strictement interdite.
Le contenu de ce document de est couvert par une garantie limitée spécifique et des exclusions et une limite deresponsabilité en vertu du Contrat de licence applicable, complétées par les conditions générales spéciales duformat de fichier Adobe® Flash® (SWF). Pour plus de détails, veuillez vous référer au contrat de licence et à cesconditions particulières.

Marques déposées
Toon Boom® est une marque déposée. Harmony™ et le logo Toon Boom sont des marques déposées de Toon
Boom Animation Inc. Toutes les autres marques déposées appartiennent à leurs propriétaires respectifs.

Date de publication
02-22-2023
Copyright © Toon Boom Animation Inc., une société de Corus Entertainment2023Inc.Tous droits réservés.

2

Table des matièresÀ propos du Jeu

4

Notes de mise à jour du SDK Harmony Gaming 2022

5

Chapitre 1 : Exportation Harmony des données de jeu

10Chapitre 2 : À propos de Création de ressources de jeu

13

Directives pour le rigging de jeu

14

Directives pour les déformations de jeu

16

About Game Bone Deformations

17

Directives pour les découpes de jeu

18

Création de notes de métadonnées

19

Conseils pour l’animation de jeux21

À propos de la Caméra orthographique

23

Chapitre 3 : À propos de Exportation vers Unity

24

Ancrages

25

Exportation de feuilles de sprite

26

Résolutions de sprite

28

Utilisation de Bake_Groups

30

Exportation vers Easel JS

32

Variations de palettes

34

Chapitre 4 : À propos du SDK Harmony Unity

37

Harmony Previewer

41

Manipulation des ressources43

À propos de l’Exemple de projet Unity49

À propos de l’interface Unity

50

Importation de fichiers Harmony dans Unity

52

Workflow de fichier TBG dans Unity

54

Workflow de dossier XML dans Unity

61

Ajout d’un moteur de rendu Harmony Renderer à des objets de jeu vides

65

Configuration des collisions dans Unity

67

Glossaire des jeux

68

3

Jeux

À propos du Jeu
Harmony vous permet d’exporter des animations créées dans Harmony vers des moteurs de jeu externes. Cela
vous permet de concevoir des personnages avec des mouvements simples qui peuvent être utilisés dans un
moteur de jeu.
Unity est un exemple de moteur de jeu avec lequel vous pouvez incorporer des données Harmony. Toon Boomdispose d’un SDK Harmony que vous pouvez télécharger à partir de la boutique de ressources Unity Asset pour
avoir le contrôle de votre personnage une fois importé dans Unity.
Ce guide montrera comment exporter des animations à partir de Harmony. En outre, le SDK Harmony Game
pour l’intégration d’Harmony avec Unity sera également présenté en détail.

4Notes de mise à jour du SDK Harmony Gaming 2022

Notes de mise à jour du SDK Harmony Gaming 2022
Exportation depuis Harmony
Fonctionnalité

Description

Pour faciliter une meilleure prise en charge au niveau deséditeurs de jeux, l’interface Exporter vers une feuille desprite a reçu des fonctionnalités supplémentaires pourregrouper davantage d’informations dans le fichier exporté.

Options pour les nouveaux exportateurs

Nouvelles options
l

l

l

5

Onglet de sélection de palette - Exclusion decertaines palettes que vous ne souhaitez pas incluredans votre fichier exporté, cela couvrira toutes lesvariations possibles de palettes qui entraînerontl’affichage de différentes couleurs sur le personnage
Encoder en TBG - Compresse les fichiers XML au
format de fichier personnalisé TBG afin qu’ils
puissent être importés dans Unity avec Unity Custom
Importer. Lorsque les fichiers sont importés, ils sonttraités comme n’importe quelle ressource dans Unity
et contiennent des sous-ressources pour les
textures, les sprites et les animations. Cela améliore
l’ergonomie de la création et du déplacement desdonnées de personnages et de la vérification desmodifications apportées au contrôle de la source.
Performances améliorées sur « Enregistrer etJeux

Fonctionnalité

Description

exporter » - Le processus d’exportation prend
généralement 1/3 du temps par rapport à Harmony
21, pour les dossiers XML et les fichiers .tbg

Il existe actuellement de nombreux nœuds qu’il n’est pas
possible de rendre dans le SDK de jeu. Afin d’apporter de lavaleur à ces nœuds pour votre exportation, il existe une
nouvelle fonctionnalité pour regrouper les dessins et lesnœuds qui les affectent dans un nouveau groupe portant lepréfixe « assemblage_ » (par ex. assemblage_hanches).

Groupes « assemblage_ »Tout groupe portant le préfixe « assemblage_ » sera analysépour des images d’animation uniques pour les effets, lesmouvements et les substitutions de dessins. Une fois
exportée vers une feuille de sprite, chaque image unique dece groupe est exportée en tant que sprite. Si aucune
modification n’a été apportée à de nombreuses images dumontage au sein de ce groupe, elles seront toutes
considérées comme le même sprite exporté dans la feuillede sprite

Importation de fichiers TBG dans Unity
Fonctionnalité

Description

Unity détectera automatiquement les modifications apportées aux fichiers TBG et lesréimportera à l’aide d’un importateur personnalisé. Le fichier peut ensuite être glissé dans leplan en tant que prefab, comme vous le feriez avec un fichier FBX.
Automatic Importing
Process

Des textures, des sprites, des animations et des ressources TbgStore seront générés etfournis en tant que sous-ressources sous la principale ressource de prefab TBG. Ces
ressources n’auront pas besoin d’être gérées séparément dans le contrôle de code source etn’existeront que dans le cache de la bibliothèque Unity. Des ressources AnimatorController
et FeuilledeSprite sont générées à côté du personnage, car elles ne peuvent pas fonctionneren tant que sous-ressources.

Le processus d’importation peut être modifié à partir des paramètres Inspector View.
Importer Settings

Paramètres d’animationlDiscretization Step – Le nombre de colonnes / lignes dans lesquelles les sprites
seront divisés s’ils sont déformés par des bones.

6

Notes de mise à jour du SDK Harmony Gaming 2022

Fonctionnalité

Descriptionl

Framerate - Le nombre d’images par seconde que comporte l’animation.

l

Stepped - Désactive l’interpolation entre les images créées.

lCreate Animator Controller - Désactive l’interpolation entre les images créées.

ll

AnimatorController - Fournit un espace de travail pour faire la transition desanimations entre elles sous certaines conditions. Peut être référencé dans les scripts
de jeu pour déclencher des animations pendant le jeu.
Maintain Curves on Cloned Clips (Maintenir les courbes sur les clips clonés) – Lescourbes dupliquées à partir de sous-ressources de clip dans le fichier .tbg (etréférencées dans AnimatorController) verront leurs courbes remplacées par denouvelles données du fichier .tbg mis à jour.

Paramètres du matériau
l

l

l

l

l

l

Shader – Utilisé pour faire le rendu de tous les sprites dans le prefab
SRGBTexture – Mappage de l’espace colorimétrique gamma des textures générées
dans le rendu de l’espace colorimétrique linéaire
FilterMode – Comment les pixels voisins de la texture sont interpolés
MipmapActivé – Génère des textures de résolution inférieure pour obtenir un rendu àdes distances plus grandes
CréerUnSpriteAtlas – Si aucun SpriteAtlas n’est référencé ci-dessous, une nouvelle
ressource SpriteAtlas sera créée dans le projet à côté du fichier .tbg
SpriteAtlas – Tous les sprites du fichier .tbg peuvent être ajoutés à un SpriteAtlas, ce
qui permettra de combiner plusieurs SpriteRenderers originaux en un seul appel dedessin, améliorant ainsi les performances de rendu

Rendu de fichiers TBG dans Unity
Fonctionnalité

Description

La structure du Prefab généré dans Unity doit correspondreà la structure hiérarchique mise en place dans le montage
dans Harmony. La structure de la Node View d’Harmony descomposites servant à alimenter le nœud de sortie sontexclus lors de l’exportation.

Prefab Hierarchy

Les nouveaux ObjetsJeu peuvent être attachés à n’importelaquelle de ces transformations de cheville enfant. Cela
permet de fixer l’équipement procédural.
En outre, n’importe quel ObjetsJeu peut être activé ou
désactivé au moment de l’exécution, de sorte que les ajouts
visuels facultatifs sur les personnages peuvent êtremasqués en attendant qu’ils soient nécessaires. La
hiérarchie peut également être entièrement décomposée,
restructurée ou dupliquée au moment de l’exécution. Cela
permet de faire exploser des personnages ou de tirer
certains dessins comme projectiles.

7

Jeux

Fonctionnalité

Description

Paramètres TBG Renderer

La résolution, les palettes, les matériaux, les couleurs et les
habillages peuvent être modifiés à partir de l’inspecteur ainsi
que les scripts personnalisés de l’ObjetJeu. Le matériau etla couleur de SpriteRenderers peuvent également êtredéfinis individuellement par dessin, de sorte que vous
pouvez modifier les couleurs des accessoires d’unpersonnage ou conférer des effets spéciaux à certains
dessins grâce à des Shaders personnalisés.

Intégration du 2D Animation Package

Dans Harmony, les dessins déformés par les Game Bones
seront convertis en bones HabillageSprite dans Unity à
l’aide du kit d’animation « 2D Animation Package » d’Unity.
Ce progiciel prend en charge la déformation de maillage
haute performance multithreadée pour les SpriteRenderers
ainsi que les poignées d’interface utilisateur pour ledéplacement des Bones dans Scene View. La chaîne
osseuse peut être animée de manière procédurale à l’aide
du « IK Manager 2D » d’Unity pour ajouter des effets devisée, d’inclinaison, de secousses, d’ondulation, etc. aprèsl’étape de mise à jour de l’animation.

Animations

Toutes les données d’animation sont exportées d’Harmony
par cheville, de sorte que toutes les rotations et échellesintermédiaires sont représentées dans la fenêtre Animation
dans Unity. Les animations peuvent être modifiées une fois
que leur ressource AnimationClip associée est dupliquéed’une sous-ressource TBG à une nouvelle ressource dans leprojet, ce qui permet d’ajouter des événements et de fournir
des courbes supplémentaires dans Unity.
Les AnimationClips sont sélectionnés par le biais d’unAnimatorController, ce qui permet de passer d’une
animation à l’autre, soit immédiatement, soit par une fusion
lisse de transformations de chevilles.

Intégration de ShaderGraph

Des Shaders graphiques compatibles sont fournis commeéléments du SDK. Ils peuvent être dupliqués et modifiés, ce
qui permet une interface facile pour introduire des effets
visuels personnalisés spécifiques au jeu sur vos
personnages.

Améliorations de HarmonyRenderer (dossiers XML)
Fonctionnalité

Description

Aperçu d’HarmonyProject

Lors de la sélection d’un personnage dans le dossier desressources Unity Asset, un aperçu du personnage
apparaîtra dans la fenêtre d’aperçu. La fenêtre d’aperçu
montre un aperçu des animations du personnage et vous

8

Notes de mise à jour du SDK Harmony Gaming 2022

Fonctionnalité

Description

aurez la possibilité de modifier les habillages sans avoir àfaire glisser le personnage dans Scene View.

Problèmes résolus
Les problèmes suivants ont été résolus dans cette version du SDK Harmony Game :HarmonyRendererlAuparavant, les ancres perdaient de la mémoire lors de la mise à jour des transformations d’ancre. Unemise à jour du plug-in HarmonyRenderer C++ résout ce problème.

lHarmonyRenderers a amélioré les performances de rendu. Il recevra désormais de nouveaux maillages
du plug-in HarmonyRenderer C++ qui peuvent être transmis directement au backend C++ d’Unity à l’aide
des nouvelles fonctionnalités de génération de maillage Unity. Cela réduit considérablement le temps
nécessaire pour mettre à jour les animations sur les personnages HarmonyRenderer, ce qui permet
d’avoir simultanément plus de personnages à l’écran.

9

Jeux

Chapitre 1 : Exportation Harmony des données de jeu
Il existe deux pipelines principaux pour l’exportation de données à partir de Harmony à votre moteur de jeu :lExportation Harmony des données de jeu page 10lExportation Harmony des données de jeu page 10

Création d’une animation dans Harmony
Lors de la création de rigs de personnages et d’animations de jeu, il convient de réfléchir à quelques éléments
avant de commencer. Les artistes et les programmeurs doivent travailler ensemble pour s’assurer que leursexigences sont satisfaites.
l

Pour quelles plateformes votre jeu sera-t-il créé? Windows, Mac, Mobile, iOS, PS, XBOX, etc.

lQuel moteur de jeu utiliserez-vous?

lQuel style d’animation sera utilisé pour créer l’apparence du jeu? Dessin à la main, pantins, textures, etc.

Ce ne sont là que quelques-unes des questions à se poser avant de commencer. Ces dernières ont toutes un
impact sur la façon dont vous concevez, construisez et animez les personnages.
Par exemple, si vous planifiez un jeu mobile pour smartphones, vous voudrez probablement garder votre jeu endessous de 50 Mo, afin qu’il puisse être téléchargé sans devoir être en Wi-Fi. Dans ce cas, le plus important est
de créer des personnages efficaces avec des feuilles de sprites très serrées et de réutiliser une grande partie del’animation pour que les fichiers soient de petite taille. Au cours du processus, vous devrez :lEffectuer le rig et l’animation des personnages dans Harmony.

lExtraire les données Harmony.

lImporter les données Harmony dans le moteur de jeu.

N'oubliez pas que, si vous travaillez avec un moteur personnalisé, vous pouvez également traiter les données
exportées Harmony et les utiliser dans un moteur de jeu personnalisé. Si vous avez besoin d’aide pour adapter
les données de votre moteur, communiquez avec le support technique à l’adresse suivante :store.toonboom.com/contact/support.
Si vous créez un jeu pour des consoles comme la PS ou la Xbox, vous pouvez créer des textures plus grandes.
Il est possible que vous souhaitiez animer image par image, avec un pantin, ou les deux.
Si vous allez simplement exporter sur une séquence image par image, vous pouvez utiliser dans Harmony tous
les outils sans limitations. Vous pouvez ensuite traiter une séquence d’images exportée dans une feuille desprite.

10Chapitre 1 : Exportation Harmony des données de jeu

Exportation de données de jeu brutes (exporter vers une feuille de sprite)

La méthode d’exportation de données de jeu brutes est appropriée lorsque vous souhaitez que la taille desfichiers soit la plus petite possible. Toon Boom vous permet de convertir des données directement à partir devotre plan Harmony pour les incorporer dans un moteur de jeu. Vous pouvez extraire les informations dusquelette, les informations du dessin et les données d’animation des images clés, ainsi que les déformations(bones et articulations uniquement), la coupure, les nœuds de transparence et les colonnes de synchronisation.
l

Avantage : Il s’agit de l’exportation la plus légère, qui permet de conserver des fichiers de petite taille, ce
qui est idéal pour les applications mobiles.

lInconvénient : Vous êtes quelque peu limité dans les outils que vous pouvez utiliser dans Harmony.
Vous pouvez utiliser des outils tels que le morphage ainsi que les déformateurs de courbes etd’enveloppes, mais vous devrez les assembler en dessins pour qu’ils soient interprétés correctement
dans le moteur de jeu. Vous pouvez utiliser des effets de découpe (masquage), mais vous ne pouvez pas
les mettre en cascade, ce qui signifie que vous ne pouvez pas en avoir plus d’un dans une chaîne
hiérarchique. Les déformateurs Game Bone peuvent être utilisés sur votre rig sans avoir à l’assembler
sur des dessins.

Cependant, même avec ces limitations, vous pouvez créer une très grande animation de marionnettes dansHarmony et extraire toutes les données compatibles. En déplaçant, en tournant, en mettant à l’échelle et en
inclinant les différents calques de dessin, vous pouvez créer une animation d’aspect avancé.
Lorsque vous extrayez les données, vous aurez des feuilles de sprite qui contiennent uniquement les dessins
des parties du corps utilisées dans votre fichier de plan Harmony. Vous pouvez également gérer plusieurs types
d’animations, comme « inactive », « exécution »et « atteindre » tout en réutilisant le même squelette et lesmêmes dessins.
Toon Boom a entièrement intégré cette solution au moteur de rendu de développement de jeux Unity. Si vous
créez votre jeu dans Unity, vous disposez d’un pipeline transparent sans avoir à traiter à nouveau les données
de votre moteur de jeu.

11

Jeux

Exportation image par image (Exportation vers Easel JS)

Vous pouvez exporter à partir de Harmony à l’aide d’une séquence d’images, qui peut être recompilée dans une
feuille de sprite.
Avantage : Vous pouvez utiliser n’importe lequel des outils dans Harmony quand vous réalisez une animation!
Inconvénient Ces feuilles de sprite peuvent se retrouver sous forme de grandes textures à traiter dans le jeu.
Cela peut convenir à de nombreux jeux, comme les jeux sur console, mais lorsque vous développez des jeux
pour des appareils mobiles, comme iOS ou Android, vous devez être très économe en espace de texture. En
outre, les tailles de fichiers doivent être maintenues en dessous de 50 Mo pour faciliter le téléchargement sansavoir besoin d’être connecté au Wi-Fi.
Un script disponible dans Harmony vous permet d’exporter votre animation image par image vers le moteur dejeu EaselJS. EaselJS est un moteur de jeu compatible avec le web en javascript. Il utilise une structure dedonnées json pour mapper chaque image à une entrée dans la feuille de sprite. La structure de données est
facile à comprendre et peut être adaptée ou convertie en un autre moteur de jeu si nécessaire.
Pour exporter vers EaselJS, vous devez ajouter le script dans la barre d’outils Scripting (TB_ExportToEaselJS).
Ce script est inclus dans Harmony. Voir le guide de script pour plus d’informations sur la façon d’ajouter le script
à votre barre d’outils script ainsi que les paramètres d’interface.

12Chapitre 2 : À propos de Création de ressources de jeu

Chapitre 2 : À propos de Création de ressources de jeu
Dans cette section, vous trouverez des directives pour le rigging, la déformation, le découpage et de nombreux
conseils d’animation utiles.

13

Jeux

Directives pour le rigging de jeu
Ce qui suit est une liste de directives générales à garder à l’esprit lors du rigging de votre personnage. Lorsque
vous planifiez le rig de personnage pour votre jeu, gardez à l’esprit le style du personnage et créez votre palettede couleurs personnalisée. Cependant, il existe certaines limitations à prendre en compte si vous prévoyez
d’extraire les données du jeu:lDéfinissez votre plan Harmony avec une résolution carrée (ex. 1024 x 1024). Cette opération peut êtreeffectuée dans la boîte de dialogue Paramétrage du plan– voir le Guide de référence.

lDessinez le motif sur les calques Dessin au trait et Motif de couleurs uniquement. Les informations
contenues dans la superposition et le sous-calque ne seront pas exportées vers Unity. Il peut toutefoisêtre utilisé en toute sécurité comme calque de référence, mais pas pour tout ce qui sera exporté.

lRepositionnez les calques dans l’espace Z si vous avez besoin de réorganiser les calques. Cependant,
les décalages Z significatifs ne sont pas pris en charge dans un rig de personnages.

lFaites de chaque calque de votre moteur de jeu un plan distinct dans Harmony. Si vous avez deux
personnages à des profondeurs différentes, placez-les dans des fichiers de plan séparés.

lLe rig de personnages en groupes au niveau racine de votre plan Harmony s’affiche sur un seul plandans Unity, mais utilise des jeux de données de feuille de sprite et d’animation séparés. Gardez cela àl’esprit pour les plans dans lesquels vous pouvez avoir plus d’un personnage interagissant les uns avec
les autres.

lN’utilisez pas d’espace 3D. Si vous souhaitez configurer les éléments dans l’espace 3D, vous pouvez lefaire lorsque vous arrivez à votre moteur de jeu.

lDéfinissez vos points de pivot sur les calques Cheville à l’aide de l’outil Rotation pour définir le pivot sur
l’ensemble du calque. Les pivots de cheville sont recommandés par rapport aux pivots de dessin. Vous
devez également définir les points de pivot sur vos calques de dessin, même si vous ne les animez pas,car cela vous permettra de récupérer les informations plus tard dans le moteur de jeu si vous devez
ajouter une ancre sur un calque de dessin.

lN’utilisez pas le Morphage. Ceci n’est pas encore pris en charge dans les moteurs de jeu.

lLe morphage et les déformations peuvent être utilisés, puis assemblés sur des dessins individuels. Ces
dessins apparaîtront ensuite sous forme de nouveaux dessins dans votre feuille de sprite. Gardez-vousde le faire trop souvent, car cela augmentera votre espace de texture!

lVérifiez l’endroit où vous placez votre personnage avant de l’exporter. Le pivot principal de votre objet dejeu exporté sera le centre de votre plan Harmony (0,0).

lAssurez-vous de disposer d’un Affichage à la fin de votre hiérarchie.

lLors du rigging, gardez à l’esprit que certains nœuds ne sont pas pris en charge par l’exportateur. En
conséquence, la structure des nœuds ne serait pas bien interprétée par les moteurs de jeu. Il est donc
recommandé d’éviter d’utiliser des structures de nœuds complexes. Pour ce faire :lConstruisez votre personnage à partir de dessins attachés à des chevilles. Les Chevilles peuvent
ensuite être connectées à d’autres Chevilles pour former des hiérarchies.

lToutes les Chevilles doivent être connectées à un seule Cheville principale en haut de votre Node
View

14

Chapitre 2 : À propos de Création de ressources de jeul

Les dessins doivent généralement être reliés aux Composites pour déterminer l’ordre des dessins
affichés à l’écran

l

Si l’ordre des dessins doit être modifié pendant l’animation, vous pouvez faire varier la profondeur
Z pour modifier le dessin qui s’affiche en premierlSi vous n’arrivez pas à faire fonctionner vos animations avec seulement les Dessins et les
Chevilles, il existe d’autres nœuds que vous pouvez utiliser et qu’il est possible d’exporter :lCouteaux - En général, ne coupez qu’un seul dessin contre un autre dessin (par ex. couper
une face aux limites d’une tête). Vous ne pouvez pas « enchaîner » la sortie d’un Couteau
dans l’entrée d’un autre Couteau.

lDéformations par Game Bone - En général, ne déformez qu’un seul dessin. Le squelettede type Bone peut se ramifier. Les sorties cinématiques peuvent être utilisées attacher desdessins aux extrémités des bones (par ex. pied au bout d’une jambe)
REMARQUE
vous êtes toujours en mesure d’utiliser des structures de nœud plus compliqués dans
« bake_groups ». Voir Utilisation de groupes d’assemblage.

Garder ces conseils à l’esprit vous permettra de créer un personnage de jeu 2D compact et efficace dansHarmony tout en profitant de tous les outils remarquables.
Voici quelques mesures que vous devriez prendre :lCréez une hiérarchie de relations parent-enfant simple dans la Timeline View.

l

Utilisez des calques de cheville pour contenir des données d’animation d’image clé, définies sur Position
séparée.

l

Utilisez des calques de dessin pour dessiner, en créant de nouveaux dessins si nécessaire.

l

Utilisez l’outil Rotation pour définir les points de pivot sur les calques de chevilles.

lNommez correctement vos calques de sorte que, si vous devez récupérer le point de pivot d’un calquespécifique plus tard dans le moteur de jeu, vous pourrez facilement reconnaître le calque dont vous avez
besoin. Si vous avez un groupe A de niveau supérieur, qui contient un groupe enfant (groupe B) et que lecalque de dessin est enfant du groupe B, le calque de dessin est exporté en tant que A_B_CalqueDessin.

lDéfinissez vos ancres à l’endroit où vous souhaitez que vos chevilles apparaissent dans Unity en tantque transformations.

Vous pouvez utiliser n’importe lequel des outils de dessin que vous souhaitez : outils Crayon et Pinceau, lignes
texturées, zones de couleurs unies et dégradés. Chaque dessin individuel sera rendu et assemblé
ultérieurement dans une feuille de sprite.
REMARQUE
Le moteur de jeu Unity ne prenant pas en charge les caractères Unicode, il est recommandé d’éviterde l’utiliser dans les plans destinés aux jeux.

15

Jeux

Directives pour les déformations de jeu
Harmony peut exporter des déformations au format XML du moteur de jeu. Seules les hiérarchies composéesde Game Bones peuvent être exportées correctement. En outre, des sorties cinématiques ont été implémentées
pour compléter vos Game Bones.
Dans Harmony, les déformations sont accompagnées d’un large éventail de caractéristiques. Toutefois,
certaines de ces fonctionnalités ne sont pas compatibles avec le SDK du moteur de jeu et ne doivent pas êtreutilisées pour les jeux. Par conséquent, les déformateurs Game Bones ne prennent pas en charge lesfonctionnalités standard de déformation par Bone suivantes :lZones d’influencelDéformations de courbes et d’enveloppeslPlusieurs poses dans la hiérarchie de déformationlAnimation de chevilles de dessin sous les groupes de déformation

La déformation dans le SDK du moteur de jeu ne se comporte pas exactement comme la déformation par Bonedans Harmony.
Pour se conformer à la plupart des moteurs de jeu et maintenir des calculs rapides, le SDK met en œuvre un
algorithme d’habillage de base linéaire pour mixer les bones au niveau des articulations. Vous remarquerez
peut-être quelques différences en fonction de la courbure des articulations utilisées. Cela dit, par rapport auxdéformations par Bones régulières, les Game Bones dans Harmony ressemblent le plus à ce que vous verrez
une fois importé dans Unity.
REMARQUE* Non disponible actuellement dans l’implémentation Cocos2d-x du SDK du moteur de jeu.

16Chapitre 2 : À propos de Création de ressources de jeu

About Game Bone Deformations
T-RIG-007-003
La déformation Game Bone est très similaire à la déformation Bone. Elle vous permet de créer une structure detype Bone dans laquelle chaque partie est solide, mais avec des articulations flexibles. Ceci est surtout utile
pour animer les membres d’un personnage, tels que les bras ou les jambes, ou d’autres parties qui peuvent êtrearticulées telles que le torse ou les doigts. Par exemple, une déformation Game Bone peut être utilisée pourarticuler un bras qui est fait d’un seul dessin, de sorte que le haut du bras et l’avant-bras peuvent être déplacés
indépendamment, sans avoir à dessiner le haut du bras et l’avant-bras sur différents calques. Harmony
déformera le dessin pour le rendre articulé. Les différentes parties d’une déformation par Game Bone peuventêtre pivotées autour de leur articulation, étendues et raccourcies, vous donnant les mêmes capacitésd’animation des articulations sur différents calques, sans avoir à vous soucier du détachement des pièces, despoints de pivot ou des contours d’écrêtage.
La déformation de Game Bone différente de la déformation par Bone dans laquelle elle est optimisée pour les
moteurs de jeu tels que Unity. Par conséquent, elle n’est généralement utilisée que pour le développement dejeux et non dans les productions animées. Les différences entre les déformations par Bone et les déformations
par Game Bone sont que les déformations par Game Bone n’ont pas de et Région d’Influence. Les plisd’articulation ont également l’air légèrement plus arrondis.

17

Jeux

Directives pour les découpes de jeu
La fonction de découpe, ou masque, est utilisée dans Harmony pour découper des dessins avec des formes
personnalisées. Le SDK du moteur de jeu implémente aussi bien des découpes que des découpes inversées
avec les limitations suivantes :lPour un sprite, une seule découpe de dessin peut être appliquée lors du rendu. Cela s’appliqueégalement à un composite de plusieurs dessins en cache. Le SDK du moteur de jeu n’utilisera que lepremier dessin en cache pendant le rendu et rejettera les autres.

l

Un dessin déformé ne peut pas être découpé, mais un dessin découpé peut être déformé.
REMARQUE
Non disponible actuellement dans l’implémentation Cocos2d-x du SDK du moteur de jeu.

18Chapitre 2 : À propos de Création de ressources de jeu

Création de notes de métadonnées
Lorsque vous créez des ressources pour votre jeu dans Harmony, vous pouvez prendre des notes sur le plan ou
des parties spécifiques du personnage ou des accessoires pour le programmeur. Ces notes incorporées qui
seront exportées avec vos ressources vers Unity sont appelées métadonnées.

Comment accéder à la vue Éditeur de métadonnéeslDans le coin supérieur droit d’une vue, cliquez sur Ajouter une vue
métadonnées.

et sélectionnez Éditeur delDans le menu supérieur, sélectionnez Fenêtres > Éditeur de métadonnées.

Comment créer des métadonnées de plan
1. Dans la vue Éditeur de métadonnées, dans la section Métadonnées de plan, cliquez sur le bouton
plus
pour créer une entrée de métadonnées.
La boîte de dialogue Ajouter des métadonnées s’affiche.
2. Dans la boîte de dialogue Ajouter des métadonnées, entrez le nom de votre nouvelle entrée de plan.

REMARQUE
Pour toute information d’ancrage ou d’accessoire créée dans Éditeur de métadonnées,
la convention de nommage doit toujours utiliser le préfixe « game ». Le terme « game »est reconnu automatiquement par Unity en tant qu’information de métadonnées.
Exemple : game.Armor001.
3. Cliquez sur Ajouter et fermer si vous avez l’intention d’ajouter une seule entrée. Cliquez sur Ajoutersi vous avez l’intention d’ajouter plusieurs entrées. Continuez à ajouter plusieurs entrées, en cliquantsur Ajouter après chacune d’elles. Cliquez sur Fermer lorsque vous avez terminé.
4. Dans la vue Éditeur de métadonnées, double-cliquez sur le champ de valeur de la première entrée
pour pouvoir la modifier.
5. Entrez les informations de valeur pour cette entrée.
6. Continuez à ajouter des informations de valeur pour toutes vos entrées.
Ces informations seront exportées avec vos ressources Harmony. Une fois dans Unity, lesmétadonnées de plan s’affichent dans Inspector View > Métadonnées lorsque la ressource est
sélectionnée dans la vue Hiérarchie.

19

Jeux

Comment créer des métadonnées de nœud1. Dans la Timeline View, cliquez sur le calque auquel vous souhaitez attacher des métadonnées.
Le nom du calque s’affiche en haut de la section Métadonnées du nœud.

2. Dans la section Métadonnées du nœud, cliquez sur le bouton plus
métadonnées.

pour créer une entrée deLa boîte de dialogue Ajouter des métadonnées s’affiche.
3. Dans la boîte de dialogue Ajouter des métadonnées, entrez le nom de votre nouvelle entrée denœud.

REMARQUE
Pour toute information d’ancrage ou d’accessoire créée dans Éditeur de métadonnées,
la convention de nommage doit toujours utiliser le préfixe « game ». Le terme « game »est reconnu automatiquement par Unity en tant qu’information de métadonnées.
Exemple : game.Armor001.
4. Cliquez sur Ajouter et fermer si vous avez l’intention d’ajouter une seule entrée. Cliquez sur Ajoutersi vous avez l’intention d’ajouter plusieurs entrées. Continuez à ajouter plusieurs entrées, en cliquantsur Ajouter après chacune d’elles. Cliquez sur Fermer lorsque vous avez terminé.
5. Dans la vue Éditeur de métadonnées, double-cliquez sur le champ de valeur de la première entrée
pour pouvoir la modifier.
6. Entrez les informations de valeur pour cette entrée.
7. Continuez à ajouter des informations de valeur pour toutes vos entrées.
Ces informations seront exportées avec vos ressources Harmony, plus précisément, cesinformations seront reliées au calque sélectionné. Une fois dans Unity, les métadonnées de plans’affichent dans Inspector View > Métadonnées lorsque la ressource est sélectionnée dans la vue
Hiérarchie.

20

Chapitre 2 : À propos de Création de ressources de jeu

Conseils pour l’animation de jeux
Lors de l’animation de jeux, selon le type de jeu que vous créez, vous devrez peut-être limiter votre animation.
Par exemple, si vous créez des jeux mobiles et que vous souhaitez que les fichiers soient de petite taille et quela lecture soit rapide sur tous les appareils, limitez-vous à une simple animation par images clés avec le moinsde changements de dessin possible. Si vous créez des jeux sur console, vous avez la liberté de créer plus dedessins et d’avoir une plus grande complexité. Vous pouvez explorer avec vos développeurs les limites desplates-formes vers lesquelles vous exportez et ce que votre moteur de jeu prend en charge.
Voici quelques conseils pour une animation efficace et allégée :lUtilisez principalement des transformations, telles que le déplacement, la rotation, la mise à l’échelle etl’inclinaison.

lCréez des échanges de dessin supplémentaires si nécessaire.

l

Si vous utilisez des déformateurs de courbes et d’enveloppes ou le morphage, vous devrez assembler
les dessins pour l’exportation. Faites preuve de prudence lorsque vous faites cela, car vous voudrez
peut-être garder un petit nombre de dessins. N’assemblez pas une séquence entière, juste des dessins
sélectionnés. Vous n’avez pas besoin d’assembler les déformateurs Game Bone.

l

Plus les dessins sont grands dans la Drawing View, plus ils occuperont de pixels dans la taille de texture
sur la feuille de sprite. Lors de la configuration de votre rig, assurez-vous de ne pas mettre à l’échelle lescalques individuels à l’aide d’une image clé avec l’outil Transformer. Si vous souhaitez augmenter ou
diminuer l’échelle des choses, utilisez l’outil Sélectionner. Cela permettra de conserver la même taillerelative sur la feuille de sprite. Lorsque vous exportez les feuilles de sprite, dans le script, vous pouvezégalement définir la résolution de la feuille de sprite afin que les dessins puissent être réduits pour lesappareils plus petits.

lSeuls les dessins exposés dans le plan seront exportés vers la feuille de sprite. Par exemple, si vous
avez 10 dessins dans la vue Library, mais que seuls deux d’entre eux s’affichent dans votre plan, seuls
ces deux dessins sont exportés. Cela permet de garder la feuille de sprite aussi compacte que possible.

Animation de séquences multiples
Vous aurez probablement plusieurs animations pour vos personnages. Par exemple, une séquence inactive,
une séquence d’exécution, une séquence d’action, etc. Vous devez travailler dans une structure spécifique afinde pouvoir exporter toutes ces animations vers une seule feuille de sprite.
Il existe deux workflows différents que vous pouvez utiliser :l

Workflow 1 : Plans séparéslWorkflow 2 : Séparation à l’aide de marqueurs de plan

Workflow 1 : Plans séparés
Tout d’abord, créez un fichier de plan avec le nom du personnage, tel que Space Duck. C’est le fichier où vous
pouvez créer ou importer votre rig de jeu. Dans le menu supérieur, sélectionnez Fichier > Enregistrer en tantque nouvelle version, et donnez à cette nouvelle version le nom de l’animation. Par exemple Idle.
Chaque fois que vous devez effectuer une nouvelle animation en utilisant le même personnage, effectuez une
sauvegarde sous une nouvelle version. Au final, vous obtiendrez peut-être un résultat comme celui-ci :Plan : Space Duck
Versions :

21

Jeux

l

InactiflExécuterlAtteindre

l

Tirer

Lorsque vous exécutez le script d’exportation, les dessins du plan courant sont exportés dans le dossierd’exportation. Cela vous permettra également de savoir s’il existe d’autres versions du plan qui ont déjà été
exportées vers ce dossier. Si c’est le cas, il recompilera la feuille de sprite pour inclure tous les dessins detoutes les animations. Cela permet la réutilisation maximale possible des dessins.

Workflow 2 : Séparation à l’aide de marqueurs de plan
Vous pouvez également créer toutes vos animations de personnages dans un seul plan, l’un après l’autre,comme inactif, exécuter, atteindre et tirer. Ensuite, utilisez des marqueurs de plan pour marquer et séparer les
animations individuelles.
Lorsque vous marquez des plages d’images d’animation individuelles, assurez-vous qu’elles commencent et se
terminent par une image clé. Ne créez pas de marqueurs de plan pour une série d’images qui commence ou se
termine au milieu d’un mouvement interpolé.

Lorsque vous exportez votre feuille de sprite, dans la boîte de dialogue Exporter vers une feuille de sprite, veillezà cocher l’option Utiliser des marqueurs de plan pour exporter des clips. Ceci est activé par défaut.

Les clips animés sont divisés et répertoriés dans le fichier stage.xml de la même manière qu’ils apparaîtraient si
vous aviez exporté chaque séquence animée de plans distincts vers le même emplacement de fichier.

22

Chapitre 2 : À propos de Création de ressources de jeu

À propos de la Caméra orthographique
Dans Harmony, il existe deux types de caméras disponibles :lPerspectivelOrthographie

La caméra orthographique est spécifique au pipeline de jeu. Elle permet de changer le type de caméra deperspective à orthographique. Elle devient une caméra sans points de fuite. Cela signifie qu’il n’y a plus deperspective dans la Camera View. Les objets, lorsqu’ils sont déplacés sur l’axe Z, ne changent pas de taille oud’échelle.

La caméra orthographique peut être définie dans la boîte de dialogue Paramètres du plan. Afin de créer desplans avec la caméra orthographique par défaut, vous devez créer une nouvelle résolution de plan
personnalisée.

23

Jeux

Chapitre 3 : À propos de Exportation vers Unity
Si vous avez un moteur de jeu personnalisé, vous pouvez récupérer les données Harmony exportées etappliquer votre processus habituel. Vous pouvez également modifier le script d’exportation pour l’adapter à
votre convention.

Avant d’exporter un plan :lVeillez à définir votre affichage sur Affichage et non sur Afficher tout.

l

Veillez à sauvegarder votre plan. Harmony effectue l’exportation en fonction des fichiers tvg, toutes lesmises à jour non enregistrées que vous avez ajoutées ne seront pas exportées.

lDéfinissez votre plan Harmony sur une résolution carrée (ex. 1024 x 1024). Sélectionnez Plan >Paramètres du plan.

24

Chapitre 3 : À propos de Exportation vers Unity

Ancrages
Avant d’exporter vers Unity, vous devez considérer ce qu’il faut définir comme ancres.
Une ancre est un point sur le personnage que vous souhaitez référencer dans le moteur de jeu pendantl’animation du personnage.

Comment définir une ancre
1. Créez un nouveau calque de dessin et renommez-le en fonction de l’ancre que vous créez.
2. Dans Propriétés du calque de votre calque de dessin, assurez-vous que l’option de pivot est définie
sur Ne pas utiliser le pivot incorporé ou Appliquer le pivot incorporé sur le calque de dessin.
L’application du pivot intégré sur la cheville parent ne fonctionne pas bien sur Unity et vous perdrez
vos informations de pivot.

3. Une fois cela fait, vous pouvez utiliser n’importe lequel des outils d’animation pour repositionner lepoint de pivot de votre calque, tel que l’outil Rotation dans la barre d’outils Animation avancée. Vous
devriez être en mesure de voir les coordonnées de pivot à partir de Propriétés du calque de votre
Calque de dessin. Si le pivot n’est pas repositionné, son emplacement par défaut sera au centre devotre plan Harmony (0,0).
4. Une fois configuré, sélectionnez le calque Dessin et cliquez sur Basculer l’ancre
dans la barred’outils Jeux. Vous pouvez également effectuer une sélection multiple pour définir une ancre sur
plusieurs calques de dessin simultanément.
Le calque Dessin est surligné en rouge dans les vues Timeline et Node. Votre ancre peut désormaisêtre utilisée pour fixer un accessoire.

25

Jeux

Exportation de feuilles de sprite
La fenêtre Exporter vers des feuilles de sprite est exportée sous plusieurs résolutions, générant plusieurs
fichiers .xml et une ou plusieurs feuilles de sprites en fonction du nombre de résolutions de sprite que vous avez
définies.
Cela enregistre différentes animations du même personnage sous le même nom. Par exemple, s’il existe uneanimation inactive, exécution et atteindre, celles-ci doivent toutes partager le même Nom de ressource. Vous
pouvez la considérer comme la collection globale d’animations. À l’intérieur se trouvent les différentes versions
de plans enregistrés dont vous pouvez réutiliser les dessins pour toutes les animations de ce jeu depersonnages. Chaque version du plan sera affichée en tant qu’élément dans la liste.
Lorsque vous exportez une animation, seuls les dessins utilisés dans ce plan sont exportés. Tous les dessins
sont d’abord exportés individuellement, puis regroupés en atlas dans une feuille de sprite.
Si vous avez enregistré plusieurs animations sous le même nom de ressource (c’est-à-dire CanardDeL’Espace :exécuter, inactif), puis il regroupera à nouveau en atlas la feuille de sprite pour inclure tous les dessins de toutes
les animations dans ce dossier, en créant un nouveau fichier d’animation, mais en réutilisant le même squelette.
REMARQUE
Les programmeurs seront peut-être intéressés de noter que les données XML exportées par
Harmony peuvent être converties ensuite en une structure de données binaires plus optimisée. Pour
convertir un fichier XML au format binaire, utilisez l’utilitaire Xml2Bin. Cet utilitaire convertit la
structure de données XML générée par le logiciel Toon Boom Harmony en une structure dedonnées binaires compressées. Cet utilitaire est disponible dans le SDK de jeu sous
/HarmonyGameSDK/Plugins/.
lPlugins/Mac : Binaire précompilé pour Mac OSX.

lPlugins/Windows\x86 : Binaire précompilé pour Windows.

lSamples/HarmonyGameSDKSource/Utils/Xml2Bin : sources Xml2Bin.

l

Samples/HarmonyGameSDKSource/Utils/Xml2Bin/proj.mac.Xml2Bin.xcodeproj : Projet XCodepour Mac OSX.

l

Samples/HarmonyGameSDKSource/Utils/Xml2Bin/proj.win32/Xml2Bin.sln : Solution Visual
Studio 2010 pour Windows.

Le code C++ qui gère la structure de données peut être réutilisé et analysé dans votre propre codesi vous souhaitez l’intégrer à d’autres moteurs de jeu.

Comment exporter des feuilles de sprite
1. Ajoutez la barre d’outils Jeux en sélectionnant Fenêtres > Barres d’outils > Jeux.

26

Chapitre 3 : À propos de Exportation vers Unity

2. Exécutez le script en cliquant sur le bouton Exporter vers les feuilles de sprited’outils Jeux.

dans la barre

La fenêtre Exporter vers des feuilles de sprite s’ouvre.

3. Définissez le chemin d’enregistrement sur le dossier correct de votre projet Unity si vous souhaitez
qu’il soit mis à jour automatiquement. Sinon, vous pouvez enregistrer n’importe où, puis transférer
l’animation dans votre projet Unity ou dans tout autre moteur de jeu que vous souhaitez utiliser.
4. Définissez les préférences de votre feuille de sprite.
5. Cliquez sur Exporter.

27

Jeux

Résolutions de sprite
Vous pouvez définir le nombre de pixels sur un sprite en fonction de la résolution choisie pour votre jeu. Votre
résolution cible peut être basée sur le matériel que vous ciblez, tel qu’un écran de télévision ou de téléphone.

Une nouvelle feuille de sprite sera créée pour chaque résolution cible spécifiée dans l’onglet Résolutions de lafenêtre Exporter vers une feuille de sprite (XML). Pour accéder à cette fenêtre, vous devrez activer la barred’outils Jeux en sélectionnant Fenêtres > Barres d’outils > Jeux.

Veuillez noter que la taille du sprite sera la taille du personnage lorsqu’il a été créé dans Harmony.

Comment configurer plusieurs résolutions de sprite
1. Activez la barre d’outils Jeux en sélectionnant Fenêtres > Barres d’outils > Jeux.
2. Sélectionnez Exporter vers des feuilles de sprite(XML) s’ouvre.

. La fenêtre Exporter vers une feuille de sprite

3. Dans la boîte de dialogue Exporter vers une feuille de sprite (XML), sélectionnez l’onglet Résolutionsde sprite. Cet onglet répertorie toutes les résolutions cibles courantes.

28

Chapitre 3 : À propos de Exportation vers Unity

4. Cliquez sur l’icône

Ajouter. Cela créera une nouvelle ligne pour une nouvelle résolution cible.

5. Saisissez le nom, la largeur et la hauteur de votre nouvelle résolution cible.
Les résolutions cibles par défaut sont HD, FullHD et QuadHD. Les résolutions d’écran répertoriées
représentent un appareil cible sur auquel le jeu pourrait être joué.
Vous êtes libre d’ajouter ou de supprimer manuellement des résolutions de cette liste en fonction de votre
résolution cible et de votre matériel. Une fois importée dans le moteur de jeu, il sera possible desélectionner la résolution affichée en modifiant la feuille de sprite rendue.

REMARQUESl

Les résolutions de sprite sont affectées par l’échelle des traits de dessin.

l

La mise à l’échelle des dessins ou de leurs chevilles n’affectera pas la résolution du sprite desortie.

l

Si vous souhaitez augmenter la résolution du sprite, vous pouvez mettre à l’échelle lescalques enfants d’un dessin.

29

Jeux

Utilisation de Bake_Groups
Un Bake_Group consiste un regroupement de nœuds de dessins et d’effets qui peuvent être exportés comme
un seul dessin unifié dans une feuille de sprite.

Comment créer un groupe assemblé
1. Regroupez les calques que vous allez assembler. Il est recommandé de regrouper les calques àpartir de la Node View. .
REMARQUE
Un bake_group ne doit avoir qu’une seule entrée et qu’une seule sortie. Cela signifie
généralement qu’un nœud Composite doit être contenu dans le bake_group pour que
l’exportation fonctionne correctement. Considérez également quelles chevilles sontnécessaires pour guider les dessins, car toutes les chevilles doivent finalement provenird’une seule cheville extérieure au groupe.

2. Dans le montage, ajoutez le préfixe « bake_ » au début du nom du groupe.
Consultez l’exemple ci-dessous pour savoir à quoi doit ressembler un nœud de groupe avec lepréfixe « bake_ ». Le « groupe » intitulé « hips » (Hanches) doit devenir « bake_hips » pour quel’assemblage s’applique.

30

Chapitre 3 : À propos de Exportation vers Unity

Si le préfixe « bake_ » est inclus dans le nom du groupe, le groupe sera analysé pour les images contenantdes effets, des mouvements et des substitutions de dessin uniques, et chaque image unique sera exportée
en tant que sprite dans la feuille de sprite.
De nouvelles animations de dessin pour ces sprites générés seront créées et fournies au moteur de jeu. Le
moteur de jeu n’aura accès à aucune des structures à l’intérieur de ce groupe, mais traitera plutôt
l’ensemble du groupe comme s’il s’agissait d’un seul dessin comprenant des substitutions de dessin.

31

Jeux

Exportation vers Easel JS
La fenêtre Exporter vers Easel JS vous permet d’aplatir une séquence d’images de votre animation. Même sivous avez une marionnette entièrement configurée ou un seul calque de dessin avec votre séquenced’animation, le résultat sera toujours une sortie aplatie de chaque image, regroupée dans votre feuille de sprite.
Cela permet plus de flexibilité et de liberté de travail car vous avez accès à tous les outils ou modules d’effets
que vous souhaitez utiliser. Cependant, cela peut produire des fichiers plus lourds en fonction de la longueur, dela complexité et de la taille d’exportation de votre animation.

Comment exporter vers Easel JS
1. Ajoutez la barre d’outils Jeux en sélectionnant Fenêtres > Barres d’outils > Jeux.

2. Exécutez le script en cliquant sur le Exporter vers Easel JSdans la barre d’outils Jeu.

La fenêtre Exporter vers le Easel JS s’ouvre.

3. Définissez le chemin d’enregistrement sur le dossier correct de votre projet Unity si vous souhaitez
qu’il soit mis à jour automatiquement. Sinon, vous pouvez enregistrer n’importe où, puis transférer
l’animation dans votre projet Unity ou dans tout autre moteur de jeu que vous souhaitez utiliser.
4. Définissez les préférences de votre feuille de sprite.

32

Chapitre 3 : À propos de Exportation vers Unity

5. Cliquez sur Exporter.

33

Jeux

Variations de palettes
Il est important de créer des versions de personnages avec des différences de palette lorsque vous prévoyez
d’ajouter la personnalisation des personnages comme une fonctionnalité de votre jeu. Dans Harmony, vous
pouvez créer plusieurs palettes pour un personnage afin qu’il puisse avoir des apparences différentes dans
votre jeu.
Dans Harmony, une fois que vous avez créé votre personnage et ses palettes, vous pouvez exporter lepersonnage vers des feuilles de sprite pour chaque palette.

Comment créer des variations de palette pour un personnage de jeu
1. Dans la Colour View, sélectionnez une palette à cloner.

2. Effectuez l’une des opérations suivantes : Dans le menu Couleur, sélectionnez Palettes > Cloner ou
cliquez avec le bouton droit de la souris et sélectionnez Cloner.
l

Cliquez avec le bouton droit sur la palette et sélectionnez Cloner.

l

Ouvrez le menu Couleur, puis sélectionnez Palettes > Cloner.

La boîte de dialogue Cloner la palette s’ouvre

34

Chapitre 3 : À propos de Exportation vers Unity

3. Dans le champ Nom de la nouvelle palette, saisissez le nom de la nouvelle palette. Par défaut, lenom de la palette est basé sur le nom de la palette d’origine suivi de « -clone ». La liste des palettes
au-dessus de ce champ répertorie les palettes qui existent déjà à l’emplacement sélectionné.
Assurez-vous d’entrer un nom qui n’est pas déjà utilisé par une autre palette.
4. Cliquez sur OK.
La palette clonée apparaît dans la liste des palettes.

Toutes les palettes de plan apparaîtront dans l’onglet Palettes de la fenêtre Exporter vers une feuille desprite.

Comment exporter une feuille de sprite pour chaque variation de palette
1. Activez la barre d’outils jeu en effectuant l’une des opérations suivantes :lDans le menu supérieur, sélectionnez Fenêtres > Barres d’outils > Jeu.

l

Cliquez sur le bouton droit de la souris sur n’importe quelle barre d’outils existante etsélectionnez Jeu.

2. Dans la barre d’outils Jeu, sélectionnez Exporter vers des feuilles de sprite.

3. Ouvrez l’onglet Palette. Vous verrez toutes les palettes de votre projet et leurs clones.

REMARQUE
Seules les palettes et leurs clones s’afficheront. Les doublons de palette ne s’afficherontpas.
4. Sélectionnez les noms des palettes que vous souhaitez exporter. Chaque palette cochée sera
exportée avec le personnage comme sa propre feuille de sprite.

35

Jeux

5. Exportez votre feuille de sprite.
Une fois le personnage importé dans Unity, il sera possible de sélectionner la palette affichée en modifiant
le rendu de la feuille de sprite.

36

Chapitre 4 : À propos du SDK Harmony Unity

Chapitre 4 : À propos du SDK Harmony Unity
Toon Boom fournit un progiciel Unity dans la boutique Unity Assets qui contient tous les scripts nécessaires pourimporter les données exportées depuis Harmony. Une fois décompressée dans un nouveau projet Unity, lastructure suivante est disponible dans le dossier SDK Toon Boom Harmony Gaming :lDocumentation (informations destinées aux développeurs sur l’intégration Unity)l

Plugins (bibliothèques SDK)l

Exemples (plans de démonstration, scripts d’exportation, source SDK et un générateur d’aperçu)lExécution (scripts d’Harmony qui s’exécutent pendant le jeu)lÉditeur (scripts Harmony qui ne s’exécutent que dans l’éditeur et n’apparaissent pas dans les versions)lShaders (Fournit des shaders qui rendent correctement les fonctionnalités spécifiques à Harmony)lMatériaux (matériaux préconstruits qui utilisent des shaders Harmony)Ces progiciels peuvent être gérés manuellement via l’interface Package Manager dans Unity. Les développeurs
peuvent mettre à niveau et rétrograder les progiciels dans le cas où les nouvelles versions d’Unity présentent
certaines incompatibilités avec les scripts Harmony.

Comment créer un projet SDK Unity
1. Créez un projet de jeu Unity vide. Il est recommandé de créer un projet de jeu Unity 2D vide car il est
particulièrement pratique lorsque vous travaillez sur le rendu et la physique 2D.
REMARQUE
Assurez-vous d’utiliser Unity 2020.3.36 ou une version ultérieure, les versions
précédentes d’Unity ne disposent pas de toutes les fonctionnalités nécessaires pourprendre en charge l’importation et le rendu de fichiers TBG.

2. Installez le SDK Harmony Game disponible dans la boutique Unity Asset. Si votre SDK a été
téléchargé manuellement, vous pouvez double-cliquer sur le fichier .unitypackage pendant que votre

37

Jeux

projet Unity est ouvert.
La fenêtre contextuelle Progiciels supplémentaires demandés s’affichera pour garantir que vous
disposez de progiciels Unity compatibles qui facilitent une animation 2D optimisée au moment del’exécution.
3. Cliquez sur Télécharger.

Une fois qu’Unity a fini de télécharger les progiciels requis et de compiler tous les scripts, votre projet est
prêt pour commencer à importer des personnages Harmony.

REMARQUES
Lorsque vous avez installé le SDK Toon Boom Harmony Game, le progiciel SDK Harmony devraêtre importé dans chaque nouveau projet créé dans Harmony.

Comment importer un progiciel dans un projet
1. Ouvrez la boutique de ressources en sélectionnant Fenêtre > Boutique de ressources. L’onglet
Boutique de ressources s’ouvre.
2. Dans la boutique de ressources, sélectionnez Ouvrir le Gestionnaire de progiciels. La fenêtre
Gestionnaire de progiciels s’ouvrira.

38

Chapitre 4 : À propos du SDK Harmony Unity

3. Dans la liste déroulante Progiciels en haut à gauche du Gestionnaire de progiciels, vous trouverez
quatre options :lProgiciels : Registre Unityl

Progiciels : Dans le projetlProgiciels : Mes ressourcesl

Progiciels : Intégrés

4. Sélectionner Progiciels : Mes ressources.
Une liste de vos ressources téléchargées s’affichera dans la liste ci-dessous. À droite de l’onglet
Gestionnaire de progiciels : Mes ressources, les informations sur la ressource sélectionnées’afficheront.
5. Lorsque vous avez sélectionné le progiciel : Mes ressources Harmony, sélectionnez Importer au bas
du Gestionnaire de progiciels. La fenêtre Importer un progiciel Unity affichant les fichiers deressources s’affiche.

39

Jeux

6. Sélectionnez Importer.

40

Chapitre 4 : À propos du SDK Harmony Unity

Harmony Previewer
Cette section explique comment utiliser Harmony Previewer pour afficher des animations sans installer Unity.
Vous pouvez trouver une version pour Windows ou macOS dans le dossier Harmony Game Previewer que vous
pouvez simplement décompresser.
REMARQUE
Ne décompressez pas la version à l’intérieur de votre projet Unity, il est conseillé de ladécompresser dans son propre dossier.

Comment utiliser le générateur d’aperçu

41

Jeux

1. Exécutez Harmony Game Previewer.exe ou Harmony Game Previewer.app
2. Sélectionnez le projet à charger dans le menu de chargement. Ces projets sont chargés à partir dudossier Ressources d’Harmony dans le même répertoire que Harmony Game Previewer.exe ou
Harmony Game Previewer.app
3. Naviguez dans les animations à l’aide du bouton Précédent / Suivant.
4. Ajustez les paramètres Fréquence d’affichage, Teinte, Discretization Step et Habillage à l’aide lescommandes en haut à gauche.
5. Cliquez sur le bouton Revenir en arrière pour revenir au menu précédent et charger une autre
animation.

42

Chapitre 4 : À propos du SDK Harmony Unity

Manipulation des ressources
Dans cette section, seront décrits les composants Harmony Mesh et Harmony Renderer dans Unity.

Workflow TBG
Si vous importez des sprites dans Unity via le workflow TBG, les options de manipulation des ressourcess’afficheront pour les fichiers TBG dans Inspector View. Les options de manipulation des ressources affichéessont différentes des options de manipulation des ressources affichées dans le workflow XML.

Moteur de rendu des ressources TBG
Harmony Renderer pour le workflow des fichiers TBG permet de contrôler l’animation et le rendu des ressources
Harmony pour les fichiers TBG ainsi que d’exposer les variables importantes que vous pourriez souhaitermodifier pendant l’exécution.

Comment manipuler les ressources de rendu du workflow TBG
1. Sélectionnez un personnage dans le plan. La section TBG Renderer (Script) apparaîtra dans l’onglet
Inspecteur à droite.

2. Contrôlez les ressources de votre personnage en définissant les éléments suivants :lProjet : Une référence à la ressource TBGStore. Cette ressource générée par l’importateur contientles données du projet TBG qui ne sont pas couvertes par les AnimationClips générés.

l

Résolution : Résolution utilisée pour afficher ce personnage. Cela correspond aux noms de feuilles
de sprite associés.

lPalette : Palette utilisée pour afficher ce personnage. Cela correspond aux noms de feuille de sprite
associés.

lMatériau : Le matériau utilisé pour ombrer ce personnage. L’habillage matériel est le matériau nonéclairé par défaut fourni avec le SDK.

l

Couleur : Option qui multiplie la couleur sélectionnée sur la ressource.

43

Jeux

l

Habillage : Vous permet de modifier en temps réel l’habillage que vous avez exporté depuis
Harmony. Chaque groupe possède sa propre liste déroulante pour modifier l’habillage, ainsi qu’uneliste déroulante globale pour modifier l’habillage de tous les groupes simultanément.

Importateur TBG
Lorsque des fichiers TBG sont importés dans Unity, les ressources Harmony sont converties en Prefab Unity,
AnimationClips et autres ressources. L’importateur TBG vous permet de spécifier comment les ressources et les
animations sont créés.

Comment contrôler les paramètres d’importation des ressources Harmony TBG dansUnity
1. Sélectionnez un fichier de personnage .tbg dans votre vue Projet. L’onglet inspecteur s’ouvrira.
2. En haut de Inspector View, cliquez sur Sélectionner pour le modèle. La vue Importateur TBG
s’ouvrira et affichera les options d’importation du TBG.

3. Contrôlez la façon dont les animations seront importées en définissant les paramètres suivants :lParamètres d’animationlDiscretization Steps : Un curseur représentant le nombre de colonnes / lignes danslesquelles les sprites seront divisés s’ils sont déformés par des bonesl

Frame Rate : la fréquence d’affichage d’animation utilisée par le système d’animation d’Unity
pour lire les images Harmony. Elle devrait correspondre à votre fréquence d’affichage dansHarmony.

l

Stepped : Si cette case est cochée, les animations se déplaceront entre les images entières
et ne seront donc pas interpolées de manière fluide. Si cette case n’est pas cochée,44

Chapitre 4 : À propos du SDK Harmony Unity

l’animation sera lue entre des images entières pour obtenir une animation fluide.

llCreate Animator Controller : Si cette case est cochée, cet importateur créera
automatiquement un nouveau Animator Controller contenant tous les AnimationClips généréset placera la ressource à côté du Prefab dans la vue Projet.

lAnimator Controller : Une fois les modifications apportées au fichier .tbg, l’Animator
Controller référencé est mis à jour avec les nouveaux AnimationClips.

lMaintain Curves on Cloned Clips : Si cette case est cochée, les courbes dupliquées à partirde sous-ressources de clip dans le fichier .tbg (et référencées dans AnimatorController)
verront leurs courbes remplacées par de nouvelles données du fichier .tbg mis à jourParamètres du matériau
lShader : Une fois le Prefab créé, tous les SpriteRenderers référenceront un matériau généré
à l’aide de ce shader.

l

SRGB Texture : Si cette case est cochée, l’espace colorimétrique gamma des textures
générées sera mappé dans le rendu de l’espace colorimétrique linéaire.

lFilter Mode : Comment les pixels voisins de la texture sont interpolés.

lMipmap activé : Générez des textures de résolution inférieure pour obtenir un rendu à desdistances plus grandes.

lCréer un Sprite Atlas : Si cette case est cochée, cet importateur créera automatiquement un
nouvel Sprite Atlas contenant tous les Sprites générés et placera la ressource à côté duPrefab dans la vue Projet.

l

Sprite Atlas : Une fois les modifications apportées au fichier .tbg, le Sprite Atlas référencé est
mis à jour avec les nouveaux Sprites.

Workflow XML
Si vous importez des sprites dans Unity via le workflow XML, les options de manipulation des ressourcess’afficheront pour les fichiers XML dans Inspector View. Les options de manipulation des ressources affichéessont différentes des options de manipulation des ressources affichées dans le workflow TGB.

Harmony Mesh
Le composant Harmony Mesh est utilisé par Harmony Renderer pour créer des maillages de ressources basés
sur les dessins exposés dans votre animation.

Moteur de rendu des ressources XML
Harmony Renderer pour le workflow des fichiers XML permet de contrôler l’animation et le rendu des ressources
Harmony pour les fichiers XML ainsi que d’exposer les variables importantes que vous pourriez souhaitermodifier pendant l’exécution.

45

Jeux

Comment manipuler les ressources de rendu de workflow XML
1. Sélectionnez un personnage dans le plan
2. Dans Inspector View, sélectionnez Ajouter un composant au bas de la vue. La section
HarmonyRenderer s’affichera.

3. Contrôlez les ressources de votre personnage en définissant les éléments suivants :lProjet : Une référence à la ressource binaire du projet Harmony. Cette ressource est générée parl’importateur et contient les données du projet Harmony dans un format binaire efficace.

lParamètres de rendu : Les paramètres de rendu permettent de modifier votre ressource, en
modifiant la résolution, le Shader utilisé pour le rendu ou la qualité de la déformation.

lRésolution : Résolution utilisée pour afficher ce personnage. Cela correspond aux noms de feuilles
de sprite associés.

46

Chapitre 4 : À propos du SDK Harmony Unityl

Palette : Palette utilisée pour afficher ce personnage. Cela correspond aux noms de feuilles de sprite
associés.

lMatériau : Le matériau utilisé pour ombrer ce personnage. L’habillage matériel est le matériau nonéclairé par défaut fourni avec le SDK.

l

Couleur : Option qui multiplie la couleur sélectionnée sur la ressource.

lDiscretization Steps : Curseur qui définit la disposition de tous les dessins déformés.

lParamètres du clip : Les paramètres des clips permettent de visualiser les animations sans ouvrir lafenêtre Animation. Cela affecte uniquement le projet en mode Éditeur, lorsque vous jouez le jeu,l’Animateur annule les paramètres dans les Paramètres du clip.

llIndex de clip courant : Un index de clip numérique à afficher. Il peut être animé dans lafenêtre Animation.

l

Clip courant : Une liste déroulante pour sélectionner l’animation à afficher. Il correspond àl’index de clip courant.

lImage courante : Numéro d’image actuellement affiché.

Paramètres d’animation : Ces paramètres sont les mêmes que ceux de l’importation desparamètres Ressource. Ils sont utiles lors de l’importation ou de la réimportation de modifications deressources dans Harmony. Une fois les modifications effectuées, cliquez sur Mettre à jourl’animateur ou Mettre à jour le clip courant afin d’enregistrer vos modifications.

lFréquence d’affichage : la fréquence d’affichage d’animation utilisée par le systèmed’animation d’Unity pour lire les images Harmony. Elle devrait correspondre à votre fréquenced’affichage dans Harmony.

l

Stepped : Si cette case est cochée, les animations se déplaceront entre les images entières
et ne seront donc pas interpolées de manière lisse. Si cette case n’est pas cochée, l’animation
sera lue entre des images entières pour obtenir une animation lisse.

47

Jeux

l

Supprimer le préfixe : Ceci est utilisé pour supprimer un préfixe sur le nom de l’animation. Par
exemple, si nous voulons que « Wishling_Idle » devienne « Inactif », nous définissons lepréfixe à « Wishling_ ». Ceci est utile lorsque le nom de l’animation pour les jeux est le mêmepour tous les personnages.

lMettre à jour l’animateur : Cliquez sur ce bouton pour mettre à jour l’ensemble desanimations sur ce personnage pour qu’il corresponde à ce qui se trouve dans le projet
Harmony. Cela mettra à jour les animations existantes avec les nouveaux paramètres quevous avez entrés et ajoutera ceux qui manquent.

lMettre à jour le clip courant : Cela mettra à jour uniquement le clip actuellement sélectionné.

Paramètres d’habillage
Les paramètres d’habillage vous permettent de modifier en temps réel l’habillage que vous avez exporté depuis
Harmony. Pour modifier un habillage, vous devez d’abord appuyer sur le bouton + pour ajouter un groupe. Vous
devez ajouter autant de groupes que ceux que vous aviez dans votre exportation Harmony. Si vous n’aviez pas
de groupes, il suffit d’en ajouter un et de le laisser sur tous. Vous pouvez définir le groupe que vous souhaitez
modifier, puis l’habillage à assigner à ce groupe. Vous pouvez ensuite supprimer un groupe en sélectionnant
n’importe quel groupe et en appuyant sur le bouton -.

Comment modifier un habillage dans le workflow XML
1. Cliquez sur le bouton

pour ajouter un ou plusieurs groupes.

2. Modifiez le groupe et assignez l’habillage au groupe.
3. Pour supprimer un groupe, sélectionnez n’importe quel groupe puis cliquez sur le bouton

48.

Chapitre 4 : À propos du SDK Harmony Unity

À propos de l’Exemple de projet Unity
Toon Boom inclut un exemple de projet Unity qui contient tous les scripts nécessaires pour importer les données
exportées à partir de Harmony. À l’intérieur de ce projet se trouve un dossier Ressources qui contient lesdossiers suivants :lPluginslPlans (plans de démonstration et un générateur d’aperçu)lScripts (tous les scripts Harmony)lRessourcesenDiffusioncontinue (c’est l’endroit où tous les fichiers de plan Harmony doivent êtreexportés)

En configurant le script Harmony, vous pouvez exporter automatiquement des animations dans le dossier deressources en diffusion continue. De cette façon, Unity chargera dynamiquement les ressources les plus à jourdès qu’elles apparaîtront dans le dossier. Vous pouvez également placer manuellement les données Harmony
exportées dans cet emplacement.

49

Jeux

À propos de l’interface Unity
Principaux composants de l’interface Unity et leurs équivalents dans Harmony :Unity

Harmony

Description

Scene View

Perspective View

C’est ici que vous définissez le plan, ensélectionnant et en positionnant les environnements,
le joueur, la caméra, les ennemis et tous les autres
ObjetsJeux.

Game View

Camera View

La vue rendue à partir de la ou des caméras de votre
jeu. Elle est représentative du jeu final et publié.

Inspector

Propriétés du calqueAffiche des informations détaillées sur l’ObjetJeu
sélectionné, y compris tous les composantsconnectés et leurs propriétés.

Hiérarchie

Layers in Timeline view

Affiche la hiérarchie des éléments du plan et vous
permet de configurer des relations parent-enfantpour différents objets de jeu.

Animation

Cells in Timeline View

Affiche les images clés d’une animation partransformation en cours d’animation.

Affiche un graphique des états et des transitions quivous permet de configurer la façon dont vos
personnages réagiront aux événements de jeu et
aux actions des joueurs

Animateur

50

Chapitre 4 : À propos du SDK Harmony Unity

Navigateur de projets

Vous permet d’accéder et de gérer les ressources
d’un projet.

---

Voici quelques types de données avec lesquels Unity interagit et leurs équivalents dans Harmony :Unity

Harmony

Description

SpriteDessinUne image simple qui peut être affichée sur un
Moteur de rendu de sprite.

SpriteRenderer

CalqueAffiche un sprite à la fois. Les sprites peuvent êtreéchangés pendant une animation pour interpréter lemouvement de la partie du corps d’un personnage.

Cheville

Utilisé pour former la hiérarchie du corps d’unpersonnage. Il peut être mis à l’échelle, pivoté ou
traduit pour interpréter le mouvement de la partie ducorps d’un personnage. L’inclinaison doit êtredérivée d’une hiérarchie d’échelles et de rotations.

Transformer

ObjetJeu

Toujours associé à une transformation. ObjetsJeu
héberge des composants qui peuvent afficher etsimuler le jeu. Le SDK fournit des comportements
personnalisés qui s’exécutent sur ObjetsJeu pourafficher des visuels spécifiques à Harmony.

Ressource

Les données de base dans un projet Unity qui est
utilisé pour les visuels, la physique, le jeu et les effets
sonores. Il s’agit généralement de fichiers, mais ils
peuvent être hébergés en tant que sous-ressources
à l’intérieur de fichiers plus volumineux. Textures,
AnimationClips, Sprites, AnimatorControllers,ClipsAudio et Prefabs sont tous des ressources.

51

Jeux

Importation de fichiers Harmony dans Unity
Une fois que vous avez terminé la création de votre illustration et des mouvements animés des personnages
dans Harmony, vous pouvez les importer dans Unity pour les intégrer au jeux.

Comment importer des fichiers Harmony directement dans Unity
1. Créez un projet Unity 2D.
2. Le SDK du projet Harmony doit être importé dans votre projet pour que les ressources puissent êtreintégrées. Effectuez l’une des opérations suivantes :lAccédez à la boutique Unity Asset (assetstore.unity3d.com/en/#!/content/31211) etenregistrez le fichier SDK Harmony Game sur votre ordinateur. Importez-le ensuite dans votre
projet comme suit :Menu supérieur > Ressource > Importer le progiciel > Progiciel
personnalisé.

lRecherchez le SDK Harmony Game dans la boutique Unity Asset, puis téléchargez et
importez le progiciel. Vous pouvez accéder à la boutique de ressources comme suit : Menu
supérieur > Fenêtre > Boutique de ressources.
REMARQUE
Pour chaque nouveau projet Unity, vous devez répéter l’étape 2 car elle contient lesfichiers et dossiers nécessaires au bon déroulement du processus d’importation
Harmony.

Il existe deux workflows principaux pour l’exportation et l’importation de données de Harmony vers UnitylFichiers TBG / TBGRenderer
C’est le workflow à privilégier si :llVous utilisez exclusivement Unity et souhaitez bénéficier de l’expérience la plus native possible dela méthode de travail d’Unity.

l

Vous souhaitez importer plus rapidement en moins d’étapes.

lVous souhaitez produire une hiérarchie significative de transformations et de SpriteRenderers qui
peuvent être modifiés et avec laquelle vous pouvez interagir. Cela permettra à ceux qui ont une
expérience de script occasionnelle ou sans expérience de script d’ajouter des effets procéduraux
uniques sur les personnages.

lVous souhaitez tirer parti du maillage de sprite d’Unity combinant l’atlassage de sprites et lescontrôleurs d’animateur avec des calques et la fusion de transition. Cela ouvre la voie à l’utilisationde progiciels existants ou de scripts simples pour la cinématique inverse, la physique dessecousses, les poupées de chiffon, etc.

Dossiers XML / HarmonyRenderer
C’est le workflow à privilégier si :52

Chapitre 4 : À propos du SDK Harmony Unityl

Vous utilisez Unity pour faire des prototypes et souhaitez une mobilité vers d’autres moteurs dejeu. Le workflow XML est transférable lorsqu’il est appelé dans une bibliothèque C++ portable surd’autres moteurs.

lVous souhaitez disposer de plus d’espace pour expérimenter des solutions de diffusion en continu
de ressources personnalisées et voulez un point de départ pour créer des effets procéduraux
personnalisés de haute performance.
REMARQUESlVous pouvez alterner les workflows le cas échéant si vous le souhaitez.

l

Les deux systèmes utilisent par défaut des contrôleurs d’animation pour choisir et lire desanimations sur le personnage, de sorte que les scripts interagissant uniquement avec
l’animateur du personnage fonctionneront de la même manière. Toutefois, les scripts qui
modifient les habillages, les résolutions ou fournissent des effets procéduraux devront êtreréécrits ou créés et personnalisés pour chaque workflow.

l

En règle générale, la transition de HarmonyRenderers à TBGRenderers fonctionnera mieux,
car HarmonyRenderers dispose d’un sous-ensemble de fonctionnalités disponibles dans
TBGRenderers par défaut. Nous vous conseillons de maintenir l’accès à vos projets
Harmony .xstage d’origine si vous avez besoin de les réexporter avec des paramètres
différents ou un workflow différent.

53

Jeux

Workflow de fichier TBG dans Unity
Dans le workflow du fichier TBG (Toon Boom Gaming), Unity interprétera immédiatement un fichier TBG exporté
depuis Harmony comme une nouvelle ressource qu’il peut référencer pour dériver de nouvelles Textures,
Sprites, données de projet et un Prefab du fichier. Le Prefab obtenu peut être glissé dans le plan d’Unity pourêtre immédiatement visualisé et animé. Lorsque le fichier TBG est écrasé à partir d’une nouvelle exportation
dans Harmony, l’Importateur TBG peut automatiquement effectuer le processus de réimportation pour mettre àjour le Prefab, les Sprites et les Textures existants. Cela permet aux artistes d’itérer rapidement sur leurspersonnages et de voir leurs résultats immédiatement dans le jeu.

Le prefab TBG Renderer résultant contient une hiérarchie complète de Transformations et SpriteRenderers pourafficher le personnage dans un rig convivial dans Unity. En outre, un script de rendu TBG Renderer inclus
garantit que les Sprites sont échangés pendant l'avancement d’une animation et que les coupures s’appliquentcorrectement aux SpriteRenderers pertinents.
REMARQUE
Le format XML utilisé dans les fichiers TBG est une version plus récente et peut ne pas êtrecompatible avec le workflow du dossier XML pour les caractères plus compliqués. Nous vousconseillons de conserver vos fichiers Harmony originaux et de les réexporter ultérieurement avec
des paramètres différents.

Comment importer un fichier TBG dans Unity
1. Dans Harmony, recherchez le bouton Exporter vers la feuille de sprite

dans la barre d’outils Jeux.

2. Dans la fenêtre Exporter vers une feuille de sprite, cochez la case Encoder en TBG .
3. Pour le chemin d’accès à la ressource, saisissez le chemin du fichier où vous souhaitez enregistrer
votre personnage.
4. Sélectionnez Enregistrer et exporter. Une barre de chargement s’affichera qui terminera leprocessus d’exportation et générera un nouveau fichier TBG.
5. Ouvrez votre projet Unity. Unity devrait automatiquement charger le TBG en tant que Prefab.

54

Chapitre 4 : À propos du SDK Harmony Unity

REMARQUE
Si votre personnage n’apparaît pas en tant que Prefab, veuillez vous assurer que :lVous avez installé le SDKHarmony pour votre projet Unity. Celui-ci doit être installépour chaque nouveau projet créé.

lVous n’avez pas de marqueur de plan s’étendant au-delà de l’exposition d’unpersonnage.

Votre projet Unity doit comprendre :lDes sous-ressources pour les textures, des sprites, des données du TBG Store et lesExtraitsvidéoAnimation.

lDeux nouvelles ressources pour SpriteAtlas et AnimatorController du fichier à côté du
TBG Prefab.

Le Prefab TBG peut maintenant être glissé dans la Hiérarchie, où il sera affiché et interactif.

55

Jeux

En sélectionnant le Prefab dans la hiérarchie, vous pourrez afficher les animations dupersonnage à partir de la vue Animation.

Ouvrez le Prefab dans la vue Hiérarchie en cliquant sur la petite flèche, pour explorer lahiérarchie du personnage de manière très similaire à ce qui est affiché dans un montage
Harmony.

56

Chapitre 4 : À propos du SDK Harmony Unity

Comment inspecter manuellement le contenu d’un fichier TBG
1. Recherchez le fichier TBG dans l’explorateur de fichiers de votre ordinateur

2. Si vous utilisez Windows ou Mac, renommez l’extension de fichier car l’extension de fichier .tbg n’est
pas reconnue par les ordinateurs Windows et Mac.

Une fois renommés, Windows et Mac vous permettront d’explorer le contenu du fichier .zip, afin devous assurer que vos FeuillesdeSprite sont de taille raisonnable ou que vos fichiers de donnéescorrespondent au contenu que vous attendez.

57

Jeux

REMARQUE
Pour vous assurer qu’Unity ne rencontre aucun problème, vous pouvez modifier
l’extension de fichier en .tbg avant de reprendre le travail avec Unity. En règle générale,
ce processus d’inspection ne doit être effectué que lorsque vous utilisez un ordinateur
sur lequel Unity n’est pas installé.

Ajout de cinématique inverse à une Prefab TBG Renderer
Vous pouvez utiliser la fonction de cinématique inverse 2D d’Unity pour ajouter des cibles procédurales aux
membres de vos personnages. Vous pouvez utiliser SLY_Character de l’exemple de workflow TBG pour ce
processus.

Comment ajouter la cinématique inverse à un Prefab TBG Renderer
1. Recherchez et faites glisser SLY_Character de la vue Projet vers votre Scene View, puis appuyez
sur F pour cadrer le personnage dans votre vue.

REMARQUE
Assurez-vous que le SLY_Character est sélectionné dans la hiérarchie.
2. Dans l’Inspector View, ajoutez un composant IK Manager 2D.

58

Chapitre 4 : À propos du SDK Harmony Unity

3. Dans le composant IK Manager 2D, cliquez sur le bouton + pour ajouter un nouveau solveur IK, puissélectionnez Membre.

4. Cliquez sur le bone en bas à droite des jambes de Sly pour exposer sa position dans la hiérarchie.
Nous utiliserons son frère ObjetdeJeu qui comprend « ..._GameBone_1_end » dans le nom.

5. Une fois l’objet de jeu « New LimbSolver2D » sélectionné, faites glisser « New LimbSolver2D » dansl’emplacement cible du script LimbSolver2D et faites glisser le « _leg_cuff_GameBone_1_end »GameObject dans l’emplacement Effecteur.

59

Jeux

Une fois cela fait, vous pouvez vous déplacer la nouvelle transformation LimbSolver2D et voir le membre seplier pour se conformer à la cible.

Pour changer la direction de la flexion du genou, nous pouvons cliquer sur la case à cocher « Retourner »dans le composant Limb Solver 2D.

60

Chapitre 4 : À propos du SDK Harmony Unity

Workflow de dossier XML dans Unity
Dans le workflow des dossiers XML, une ressource Harmony Importer unique peut être créée par undéveloppeur pour référencer un dossier XML exporté depuis Harmony. Cet importateur peut ensuite être utilisé
pour générer une ressource Harmony Project et un nouveau Prefab du moteur de rendu Harmony Renderer.
Pour chaque fichier XML réexporté, les développeurs doivent définir manuellement les chemins d’importation etd’exportation et effectuer le processus d’importation à partir de la ressource Harmony Importer.
Ce workflow offre une certaine souplesse quant à l’emplacement des données XML. Par exemple, il peut résider
à l’intérieur ou à l’extérieur du projet Unity. Toutefois, l’inconvénient de ce workflow est que davantage d’erreurs
peuvent être commises, car les étapes sont plus nombreuses. Par exemple, le chemin d’accès aux fichiers del’importateur TBG devra être mis à jour manuellement lors du déplacement des fichiers.

Le Prefab Harmony Renderer qui en résulte permet un rendu performant des personnages en générant un
maillage au sein d’un plugin C++. Ceci est préférable pour les foules de personnages qui ne nécessitent pas defonctionnalités de rendu personnalisées compliquées.

Comment importer un dossier XML dans Unity
1. Dans Harmony, recherchez le bouton Exporter vers la feuille de sprite

dans la barre d’outils Jeux.

2. Sélectionnez Enregistrer et exporter. Assurez-vous que l’option Exporter en tant que TBG n’est pas
cochée dans la boîte de dialogue Exporter vers une feuille de sprite.
3. Enregistrez le code XML dans un dossier à l’intérieur du dossier Ressources de votre projet Unity.
4. Dans Unity, créez un nouvelle ressource Harmony Importer en effectuant l’une des fonctions
suivantes :lDans la liste déroulante Ressources dans le menu supérieur, sélectionnezCréer > Importerun projet Harmony.

lCliquez avec le bouton droit sur le dossier Ressources dans la vue Projet et sélectionnez
Créer > Importer un projet Harmony.

61

Jeux

5. Nommez l’Harmony Importer avec un suffixe « Importer » pour éviter toute confusion future.
6. Copiez le chemin d’accès relatif du dossier exporté, collez-le dans le nouvel Harmony Importer.

7. Copiez le chemin d’accès relatif de la ressource Harmony Importer, collez-le dans Harmony
Importer, remplacez « Importer » par « Project » dans le chemin d’accès.

8. Cliquez sur Import.

62

Chapitre 4 : À propos du SDK Harmony Unity

Une nouvelle ressource HarmonyProject sera créée ainsi qu’un nouveau Prefab avec Harmony
Renderer qui fait référence à HarmonyProject.

La ressource Prefab peut être glissée à partir de la vue Projet vers la Hierarchy View et la Scene
View pour afficher votre personnage dans votre jeu

Importation d’ancres
Dans Harmony, les ancres fournissent un moyen d’indiquer quelles chevilles et dessins sont des positions
d’intérêt pour les scripts de jeu dans Unity. Un ancrage peut être assigné à tout dessin ou cheville.

Comment importer une ancre dans Unity
1. Sélectionnez un calque dans la Timeline View ou un nœud dans la Node View et sélectionnez lebouton Basculer l’ancre dans la barre d’outils Jeux.

63

Jeux

2. Importez le personnage dans Unity.
La prochaine fois que le processus d’importation XML est effectué, la nouvelle ancre apparaîtra dans Unity
sous le Prefab importé du personnage en tant que nouvelle HarmonyAnchor.

Ce nouveau GameObject suivra la position, la rotation et l’échelle de l’animation courante sur lepersonnage. Cela vous permet d’attacher dynamiquement des objets de jeu en tant qu’enfants aux ancres
pour les transporter, les équiper et les utiliser.
REMARQUE
Le déplacement des positions d’ancrage n’affectera pas les visuels du moteur de rendu
Harmony Renderer. Pour afficher et affecter l’ensemble de la structure du personnage dans
Unity et pas seulement les ancres, vous pouvez envisager d’utiliser le workflow TBG

Ajout de sources audio
Lorsque vous créez des fichiers de plan dans Harmony avec audio, l’audio est exporté dans le dossier du projet.
Harmony Importer créera automatiquement une AudioSource et l’ajoutera au Prefab généré. Harmony Renderer
peut ensuite déclencher la lecture des fichiers AudioClip à certains moments de la lecture de l’animation,comme cela a été fait dans Harmony.

64

Chapitre 4 : À propos du SDK Harmony Unity

Ajout d’un moteur de rendu Harmony Renderer à des objets de jeu
vides
Si vous ne disposez pas du Prefab de votre Harmony Importer, il est toujours possible de créer un nouveau
composant Harmony Renderer sur un objet de jeu vide pour obtenir le même résultat final.

Comment utiliser un GameObject vide
1. Sélectionnez GameObject > Créer vide.
2. Renommez le GameObject vide pour qu’il soit clair dans la hiérarchie. Puisque nous utilisons lefichier de démonstration PerryPoireau, renommez le GameObject en SpaceCat en effectuant l’unedes opérations suivantes :lDouble-cliquez sur le nom et renommez-le dans la hiérarchie.

lSélectionnez GameObject et renommez-le dans Inspector.

3. À ce stade, c’est un objet vide. L’accès Harmonyaux données se fait via des scripts.
lSélectionnez le GameObject PerryPoireau.

lDans Inspector, allez sur Ajouter un composant > Scripts > Harmony Renderer.

Quatre nouvelles sections apparaissent dans Inspector appelées Mesh Renderer, Harmony Mesh
(Filtre de maillage), et Harmony Renderer.

65

Jeux

De là, vous devez joindre un Projet Harmony à ce Moteur de rendu Harmony Renderer nouvellement créé.
En cliquant sur le cercle à droite de l’emplacement vide (Projet Harmony), vous pouvez sélectionner leprojet que vous avez déjà importé en procédant à la création d’un Projet Harmony à l’aide du workflow dedossier XML.

66

Chapitre 4 : À propos du SDK Harmony Unity

Configuration des collisions dans Unity
L’extraction des informations de la zone englobante est utile lorsque voulez faire entrer quelque chose en
collision avec votre personnage. Lorsque vous placez un personnage 2D dans un plan 3D, vous pouvez utiliser
la fonction Physique pour que le caractère 2D entre en collision avec le plan 3D.
Les collisionneurs ont été améliorés pour fournir plusieurs types différents de collisionneurs à utiliser dans Unity.
Vous pouvez sélectionner des collisionneurs de polygones et des collisionneurs de boîtes pour un cadre desélection plus précis.

Comment configurer les collisions
1. Sélectionnez votre personnage importé.
2. Dans Inspector, sélectionnez Ajouter un composant > Physique 2D > Collisionneur de boîte 2D.
3. Pour activer la fonction Physique sur le personnage, allez dans Ajouter un composant > Physique
2D > Corps rigide 2D.

REMARQUE
Vous pouvez également utiliser la fonction physique 3D sur les fichiers importés.

Vous pouvez maintenant ajuster les variables et voir les résultats.

67

Jeux

Glossaire des jeux
2D Animation Package

Plugin de première partie pour Unity (réalisé par Unity) qui facilite letraitement et l’animation de sprite 2D avancés (déformations, rigging,tessellation)

Ancre

Dans Harmony, les nœuds peuvent être marqués comme des ancres pourexposer leur position, leur rotation et leur échelle dans le moteur de jeu
pendant l’exécution. Les fichiers TBG ne nécessitent pas d’ancres.

AnimationClip

La ressource Unity Asset qui contient une série de courbes pour différents
champs de données dans un Prefab (changements de position, derotation, d’échelle)

AnimatorController

Les contrôleurs d’animateur décident quelle animation doit être lue
pendant le jeu en fonction de l’état actuel du personnage

Automatic Importing
Process

Importera le fichier automatiquement sans intervention de l’utilisateur
lorsque le fichier est créé ou est modifié / écrasé / mis à jourbake_groupLes bake_groups sont des groupes dans la Node View qui sontrenommés en « bake_... », en outre, un bake_group ne peut prendre en
charge qu’1 port d’entrée et qu’1 port de sortie. Pendant l’exportation à
partir d’Harmony, ces groupes sont analysés pour détecter leschangements et exporter autant de sprites qu’il y a de variations uniquesde données dans le groupe, ainsi qu’une animation pour montrer chaquesprite le cas échéant. N’importe quel effet peut être utilisé à l’intérieur d’unbake_group : lueurs, déformations de forme libre, dessin couleur / dessin
au trait.

Bones

Segments rigides du corps d’un personnage, utilisés comme guide pourdéformer un personnage - généralement les jambes et les bras

Create Animator
Controller

Option permettant de créer un Animator Controller lorsque le fichier TBG
est importé pour la première fois

Discretization Step

Finesse avec laquelle un sprite sera segmenté s’il est déformé. Plus lenombre est élevé, plus les formes des sprites intensément déformés
seront lisses

FBX

Feuille de sprite

Format de fichier FBX - format de fichier standard dans l’industrie de la
modélisation 3D et du développement de jeux 3D, popularisé par 3ds Max
Plusieurs sprites tous aplatis en une seule image. Certaines feuilles se

68Chapitre 4 : À propos du SDK Harmony Unity

trouvent dans une grille d’une taille fixe, d’autres ont des sprites de taillevariable. Le moteur de jeu doit comprendre où se trouve chaque sprite
dans la feuille pour pouvoir extraire correctement les données de sprite dela feuille.
fichier .tbg

Format de fichier Toon Boom Game (.tbg), créé à partir d’Harmony etrepris par Unity et à l’avenir par d’autres moteurs de jeu.

Filter Mode

Comment mélanger les pixels voisins - Le plus proche affiche les bords
durs autour des pixels (pixel-art), tandis que bilinéaire et le trilinéaire
tentent de mélanger les données de couleur des pixels voisins ensemble
pour rendre l’image plus lisse

Fréquence d’affichage

Nombre d’images par seconde qui s’affiche lors de la lecture d’une
animationGame Bones

Déformation dans Harmony qui émule le fonctionnement des bones dansles moteurs de jeu, similaire aux déformations de Bones normales dansHarmony, mais avec un algorithme de fusion différent

Habillages

D’autres collections de dessins peuvent être créées dans le montage d’uncalque puis basculées à l’aide de la vue Habillage dans Harmony. Les
exemples incluent - le costume alternatif d’un personnage qui peut êtrechangé, ou de nouvelles parties du corps d’un personnage, qui sontéventuellement montrées ou cachées pendant le jeu

IK Manager 2DPlugin de première partie pour Unity (réalisé par Unity) qui facilite lacinématique inverse pour les personnages 2D

Importer Settings

Paramètres disponibles sur la ressource à partir de la fenêtre Inspecteur
qui modifient la façon dont la ressource doit être convertie à partir desdonnées du fichier en données comprises par Unity

Inspector View

Vue dans Unity qui affiche le contenu d’un ObjetJeu - la transformation,les composants pour le rendu et la fonction physique, et lesComportements personnalisés

MipMapCoché dans les paramètres d’importation dans Unity, MipMap indique quel’utilisateur souhaiterait avoir des versions de résolution inférieure destextures générées pour le rendu à des échelles plus petites / desdistances plus éloignées

Prefab

Hiérarchie d’ObjetsJeu, Transformations, Composants et comportements
qui peuvent être créés dans la vue Hiérarchie, puis enregistrés dans la

69

Jeux

vue Projet. Les instances de Prefabs peuvent être lacées dans lahiérarchie pour avoir plusieurs doublons du même objet (nombreux
personnages, nombreuses puces, nombreuses arborescences)
Preview Window

Section de l’onglet Inspecteur qui montre à quoi ressemble la ressource,
généralement avec des Modèles, des Matériaux et des Textures

Scene View

Affichage visuel du jeu dans Unity. Complète la vue Hiérarchie, où Scene
View montre à quoi elle ressemblera pour un joueur, et la Hiérarchie
montre à quoi ressemble le jeu pour le moteur.

Shader

Les instructions qui informent le jeu sur la façon d’afficher les données demaillage et de texture fournies (coloration, éclairage, lissage, courbure,mélange, etc.)

ShadergraphFormat de fichier Unity fourni par Unity avec une interface utilisateur et un
importateur de scripts, qui permet la création et l’édition visuelles deshaders - aucune création de code n’est requise

Sprite Atlas

La version d’Unity d’une feuille de sprite - prend une collection de sprites
et les aplatit en une seule image. Chaque sprite de l’Atlas pointe vers lesdonnées de l’Atlas pendant le rendu, ce qui réduit les performances denombreux sprites différents.

SRGB Texture

Coché dans les paramètres d’importation dans Unity, sRGB indique à
Unity que les données de texture ont été encodées dans l’espacecolorimétrique linéaire, ce qui correspond au mode de rendu linéaire
d’Unity

Stepped

Si l’animation doit être maintenue à la fréquence d’affichage prévue parl’artiste, ou si elle doit deviner les images intermédiaires lorsqu’elle est
affichée à des fréquences d’affichage plus élevées

Sub-Asset

Sous-ressource qui est intégrée dans une ressource existante et qui estgénéralement associé à la ressource principale. Pour les fichiers TBG, un
personnage se compose d’une ressource Prefab principale et possède denombreux sous-ressources pour les textures, les sprites, lesAnimationClips, les matériaux et TBGStoreTBG

TBG Renderer

Format de fichier Toon Boom Game (.tbg), créé à partir d’Harmony etrepris par Unity et à l’avenir par d’autres moteurs de jeu.
Comportement d’exécution attaché à un Prefab pendant le processus
d’importation TBG qui gère le changement des résolutions, des palettes,

70

Chapitre 4 : À propos du SDK Harmony Unity

des habillages et la mise à jour des sprites de couteau.
TBG Store

Ressource générée pendant l’importation par TBG qui stocke desdonnées utiles sur le personnage qui sont référencées pendant
l’exécution par TBG Renderer

Unity Asset

Dans Unity, une partie des données générée par Unity est native d’Unity
et elle est intégrée dans un jeu pendant le processus de création de jeu.
Celles-ci sont générées par les outils d’Unity et lors de l’importation defichiers externes.

Unity Custom Importer

Importateur dans Unity qui est défini dans l’interface de script C# parprojet, qui mappe une extension de fichier (par ex. « .tbg ») à unprocessus de conversion des données de fichier en ressources Unity
Asset

Workflow TBG

Processus d’exportation d’un personnage depuis Harmony etd’importation dans un moteur de jeu en utilisant des fichiers TBG comme
type de fichier intermédiaire

Workflow XML

Processus d’exportation d’un personnage depuis Harmony etd’importation dans un moteur de jeu en utilisant des dossiers XML comme
type de fichier intermédiaireXML

Format de fichier XML - format de fichier standard pour stocker lesdonnées structurellement, de manière similaire au format JSON71