28 septembre 2022

Nouvelle fonctionnalité de polices et de texte

image des polices dans Evergine

Dans cette release, Evergine prend en charge les polices et les textes sans aucune bibliothèque externe. Auparavant, il fallait utiliser des bibliothèques comme NoesisGUI ou ImGui pour afficher du texte dans un projet Evergine ; ce n'est plus nécessaire, car cette nouvelle fonctionnalité a été ajoutée aux bibliothèques d'Evergine et à Evergine Studio.

Evergine utilise la technique du champ de distance signé multicanal (MSDF) pour générer un atlas de police précalculé à partir du fichier de police d'origine. Un atlas de police est généralement stocké en mémoire de texture et utilisé pour afficher du texte dans des contextes de rendu en temps réel. Le principal problème des atlas de sprites traditionnels est que les glyphes sont précalculés à une résolution donnée : si vous utilisez cet atlas pour afficher un texte plus grand ou si la caméra est proche du texte, une perte de résolution et de l'aliasing peuvent apparaître. Le champ de distance signé multicanal permet de rendre les glyphes en limitant la perte de résolution, quelle que soit la taille de police, et même lorsque la caméra est proche du texte.

Le champ de distance signé multicanal est une technique améliorée, fondée sur la célèbre technique des champs de distance créée par Valve. Cette technique améliorée a été mise au point par Viktor Chlumsky. Pour en savoir plus, lisez son article.

image du champ de distance multicanal

Evergine permet d'inclure des fichiers de polices TrueType (.ttf) ou OpenType (.otf). Il suffit de faire glisser ces fichiers dans Evergine Studio pour créer automatiquement un nouvel asset de police.

image des polices TrueType et OpenType dans Evergine

Un nouveau Font Editor a été ajouté à Evergine Studio ; il s'ouvre en double-cliquant sur un asset de police. Ce nouvel éditeur permet de tester rapidement le rendu d'un texte avec une police donnée, et de modifier le jeu de caractères utilisé pour générer l'atlas de police, en ajoutant des caractères spéciaux au jeu de caractères par défaut.

image du Font Editor dans Evergine

Pour faciliter l'ajout d'un texte à votre scène Evergine, un nouveau menu permet de créer une entité dotée des nouveaux composants de texte : Text3DMesh et Text3DRenderer.

image du menu de hiérarchie des entités dans Evergine

Le composant Text3DRenderer inclut un mode de débogage qui vous aide à mieux comprendre la configuration du texte, comme l'alignement, le retour à la ligne, l'origine…

image du mode de débogage des polices et du texte dans Evergine

 

Pour en savoir plus sur l'utilisation de cette nouvelle fonctionnalité, consultez la nouvelle section de documentation Fonts and Texts.

Jorge Canton
Auteur
Jorge Cantón
Plain Concepts Research