
Nouvelle fonctionnalité de polices et de texte

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.

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.

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.

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.

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…

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