Texte dans Unity

Le texte est l’un des composants les plus importants des applications holographiques. Pour afficher du texte dans Unity, vous pouvez utiliser trois types de composants de texte : Texte de l’interface utilisateur, Maillage de texte 3D et Maillage de texte Pro. Par défaut, le texte de l’interface utilisateur et le maillage de texte 3D apparaissent flous et sont trop volumineux. La modification de quelques variables donne du texte plus précis et de meilleure qualité avec une taille gérable dans HoloLens. Vous pouvez obtenir une meilleure qualité de rendu en appliquant un facteur de mise à l’échelle pour obtenir des dimensions appropriées lors de l’utilisation des composants Texte de l’interface utilisateur et Maillage de texte 3D.

Comment obtenir un texte précis et beau
Texte par défaut flou dans Unity

Utilisation du texte 3D (maillage de texte) et du texte de l’interface utilisateur d’Unity

Unity suppose que tous les nouveaux éléments ajoutés à une scène ont une unité Unity de taille ou une échelle de transformation de 100 %. Une unité Unity se traduit par environ 1 mètre sur HoloLens. Pour les polices, le cadre englobant d’un TextMesh 3D est fourni par défaut à environ 1 mètre de hauteur.

Utilisation des polices dans Unity
Le texte unity 3D par défaut (maillage de texte) occupe une unité Unity, qui est de 1 mètre


La plupart des concepteurs visuels utilisent des points pour définir des tailles de police dans le monde réel. Il y a environ 2835 points (2 834,645666399962) points dans 1 mètre. En fonction de la conversion du système de points vers 1 mètre et de la taille de police text mesh par défaut d’Unity de 13, la valeur mathématique simple de 13 divisée par 2835 est égale à 0,0046 (0,00458611116 pour être exacte) ce qui fournit une bonne échelle standard pour commencer (certains peuvent vouloir arrondir à 0,005). La mise à l’échelle de l’objet de texte ou du conteneur vers ces valeurs permet non seulement la conversion 1:1 des tailles de police dans un programme de conception, mais fournit également une norme afin que vous puissiez maintenir la cohérence tout au long de votre expérience.

Mise à l’échelle des valeurs pour le texte unity 3D et le texte de l’interface utilisateur
Mise à l’échelle des valeurs pour le texte unity 3D et le texte de l’interface utilisateur


Maillage de texte Unity 3D avec des valeurs optimisées
Maillage de texte Unity 3D avec des valeurs optimisées


Lors de l’ajout d’une interface utilisateur ou d’un élément de texte basé sur un canevas à une scène, la disparité de taille est encore plus grande. Les différences entre les deux tailles sont d’environ 1000 %, ce qui porterait le facteur d’échelle des composants de texte basés sur l’interface utilisateur à 0,00046 (0,000458611116 pour être exact) ou 0,0005 pour la valeur arrondie.

Texte de l’interface utilisateur Unity avec des valeurs optimisées
Texte de l’interface utilisateur Unity avec des valeurs optimisées


Notes

La valeur par défaut d’une police peut être affectée par la taille de texture de cette police ou par la façon dont la police a été importée dans Unity. Ces tests ont été effectués en fonction de la police Arial par défaut dans Unity, ainsi que d’une autre police importée.

Utilisation de Text Mesh Pro

Avec Text Mesh Pro d’Unity, vous pouvez sécuriser la qualité de rendu du texte. Il prend en charge les contours de texte nets, quelle que soit la distance, à l’aide de la technique SDF (Signed Distance Field). À l’aide de la même méthode de calcul que celle utilisée ci-dessus pour le maillage de texte 3D et le texte de l’interface utilisateur, nous pouvons trouver les valeurs de mise à l’échelle appropriées à utiliser avec les points typographiques conventionnels. Étant donné que la police 3D Text Mesh Pro par défaut de la taille 36 a une taille englobante de 2,5 unités Unity (2,5 m), nous pouvons utiliser une valeur de mise à l’échelle de 0,005 pour obtenir la taille de point. Text Mesh Pro sous le menu interface utilisateur a une taille englobante par défaut de 25 unités Unity (25 m). Cela nous donne 0,0005 pour la valeur de mise à l’échelle.

Mise à l’échelle des valeurs du texte et de l’interface utilisateur Unity 3D
Mise à l’échelle des valeurs du texte et de l’interface utilisateur Unity 3D

Comme vous pouvez vous y attendre, les tailles de type que nous utilisons sur un PC ou une tablette (généralement entre 12 et 32pt) sont petites à une distance de 2 mètres. Cela dépend des caractéristiques de chaque police, mais en général, l’angle de vision minimal recommandé et la hauteur de police pour la lisibilité sont d’environ 0,35°-0,4°/12,21-13,97 mm d’après nos études de recherche sur les utilisateurs. Il est d’environ 35-40 pt avec le facteur de mise à l’échelle introduit ci-dessus.

Pour l’interaction proche à 0,45 m (45 cm), l’angle de vision de la police lisible minimale et la hauteur sont de 0,4°-0,5° / 3,14 à 3,9 mm. Il est d’environ 9-12 pt avec le facteur de mise à l’échelle introduit ci-dessus.

Plage d’interactions proches et lointainesContenu à la plage d’interactions proches et lointaines

Taille de police minimale lisible

Distance Angle Hauteur du texte Taille de police
45 cm (distance de manipulation directe) 0.4°-0.5° 3,14 à 3,9 mm 8,9 à 11,13 pt
2 m 0.35°-0.4° 12,21 à 13,97 mm 34,63-39,58 pt

La taille de police confortablement lisible

Distance Angle Hauteur du texte Taille de police
45 cm (distance de manipulation directe) 0.65°-0.8° 5,1 à 6,3 mm 14,47-17,8 pt
2 m 0.6°-0.75° 20,9 à 26,2 mm 59,4-74,2 pt

L’interface utilisateur Segoe (police par défaut pour Windows) fonctionne bien dans la plupart des cas. Toutefois, évitez d’utiliser des familles de polices légères ou semi-légères de petite taille, car les traits verticaux minces vibrent et dégradent la lisibilité. Les polices modernes avec une épaisseur de trait suffisante fonctionnent bien. Par exemple, Helvetica et Arial sont magnifiques et sont lisibles dans HoloLens avec des poids réguliers ou gras.

Affichage de l’angleAffichage de la distance, de l’angle et de la hauteur du texte

Texte avec Mixed Reality Toolkit v2

Qualité de rendu de texte nette avec une dimension appropriée

En fonction de ces facteurs de mise à l’échelle, nous avons créé des préfabriqués de texte avec du texte d’interface utilisateur et un maillage de texte 3D. Les développeurs peuvent utiliser ces préfabriqués pour obtenir du texte précis et une taille de police cohérente.

Qualité de rendu de texte nette avec une dimension appropriée
Qualité de rendu de texte nette avec une dimension appropriée

Nuanceur avec prise en charge de l’occlusion

Le matériel de police par défaut d’Unity ne prend pas en charge l’occlusion. Pour cette raison, vous verrez le texte derrière les objets par défaut. Nous avons inclus un nuanceur simple qui prend en charge l’occlusion. L’image ci-dessous montre le texte avec la police par défaut (à gauche) et le texte avec une occlusion appropriée (à droite).

Nuanceur avec prise en charge de l’occlusion
Nuanceur avec prise en charge de l’occlusion

Point de contrôle de développement suivant

Si vous suivez le parcours de développement Unity que nous avons mis en place, vous êtes en train d’explorer les blocs de construction principaux de MRTK. À partir d’ici, vous pouvez passer au composant suivant :

Ou accéder aux API et fonctionnalités de la plateforme Mixed Reality :

Vous pouvez revenir aux points de contrôle de développement Unity à tout moment.

Voir aussi