Logo Makeyourgame
Accueil Les formations Créer un jeu Les ateliers Les tutoriels Blog Loterie
Logo Makeyourgame
Les formations Les financements Les exercices La certification Unity
Logo Makeyourgame
Mes objectifs Les jeux Les ressources Le glossaire
Logo Makeyourgame
Les tutos Les tutos Youtube

Utiliser une police externe dans Unity avec TextMeshPro : Unity

pictureProfil_base
Ecrit par Rikoo
Catégorie Unity
Mis à jour le 18/09/2021
Utiliser une police externe dans Unity avec TextMeshPro

Que la police ait été faite par votre graphiste, ou que vous l’ayez acheté pour votre projet, il est important de savoir comment l’importer dans Unity pour embellir vos interfaces.

5 min Débutant

Génération de l’Asset

Pour pouvoir utiliser votre police dans TextMeshPro, nous allons devoir générer un asset utilisable par Unity.

Remarque:Vous pouvez trouver et télécharger gratuitement des polices sur Google Fonts. J’ai choisi Dancing Scripts.

Je vous conseille de placer votre fichier dans le dossier Assets de votre projet. C’est normalement un fichier avec une extension .ttf. Une fois effectué, nous allons ouvrir la fenêtre appropriée: Font Asset Creator.

Si vous ne l’avez pas encore fait, il va vous demander d’importer les Assets essentiels à TextMeshPro par l’intermédiaire de cette fenêtre:

Cliquez sur “Import TMP Essentials. Après un petit temps de chargement, les Assets sont importés. Il n’est pas nécessaire de cliquer sur le second bouton “Import TMP Examples & Extras”.

Nous allons maintenant utiliser la seconde fenêtre qui s’est ouverte:

Il y a un certain nombre de paramètres au sein de cette fenêtre. Nous ne les détaillerons pas tous, ainsi je vous invite à regarder la documentation au besoin. Les paramètres par défaut sont en général suffisants.

Nous allons maintenant générer l’asset nécessaire à partir de notre .ttf:

Comme vous pouvez le voir, il suffit de glisser notre .ttf dans Source Font File, puis de cliquer sur Generate Font File. Cela va générer une texture qui sera utilisée par TextMeshPro pour l’affichage. Vous pouvez ensuite cliquer sur:

  • Save qui va écrire par dessus l’ancien fichier s’il existe, sinon il vous demandera ou l’enregistrer.
  • Save as qui va simplement vous demander ou l'enregistrer. Ici, je le laisse à la racine mais je vous conseille fortement de le mettre à un endroit précis afin d’avoir une bonne arborescence de fichiers.

Utilisation de l'Asset

Une fois l’asset créé, nous pouvons l’utiliser dans Unity. Il suffit alors de créer un Text - TextMeshPro dans votre scène et de lui assigner la bonne police.

Régler le problème des accents

Nous allons maintenant essayer quelque chose. Remplacez “New Text” par “Bonjour éèàçöô”. Vous devriez remarquer un petit problème.

Comme vous pouvez le remarquer, les caractères accentués ne sont pas dans la bonne police. TextMeshPro a utilisé celle par défaut qui est une Liberation. Le problème vient de l’asset que nous avons généré. Nous allons voir comment y remédier.

Nous allons régénérer notre asset en changeant une chose: le Character Set. Actuellement, il est sur ASCII. Cela représente les caractères principaux utilisés sur les ordinateurs. Ordinateurs conçus par des anglophones. Ainsi, les accents ne sont pas dedans. Nous allons donc utiliser l’Extended ASCII.

Votre texte est peut-être maintenant invisible et c’est normal. Cela vient de TextMeshPro qui avait créé un objet pour utiliser la police par défaut, il suffit alors de le supprimer.

Voilà! Vous savez maintenant comment utiliser une police externe dans Unity et même prendre en compte les accents 👏

Vues: 4182

Licence:



Validation du Tutoriel

Veuillez vous connecter ou créer un compte pour pouvoir valider ce tutoriel et ainsi gagner de l'expérience (XP) !

Vous aimerez aussi...

Blog et Tutoriels

Créer les colliders directement dans Blender 3D.

Créer les colliders directement dans Blender 3D.

par GuiRig

Pourquoi créer un collider dans Blender 3D plutôt que Unity ?

Le modeleur 3D unity reste très très limité. On ne pourra créer que des formes primitives ( cube, sphère etc )

Et puisque nous modélisons nos mesh dans Blender, autant en profiter pour superposer nos colliders. Cela s'appelle des meshColliders. Rapide et efficace :-)

applause logo0