Partager via


Préfabriqué de texte — MRTK2

Ces préfabriqués sont optimisés pour la qualité de rendu dans Windows Mixed Reality. Pour plus d’informations, consultez la ligne directrice Texte dans Unity sur le Centre de développement Microsoft Windows.

Prefabs

3DTextPrefab

Préfab 3D Text Mesh (Assets/MRTK/SDK/StandardAssets/Prefabs/Text) avec un facteur de mise à l’échelle optimisé à une distance de 2 mètres. (Lisez les instructions ci-dessous)

UITextPrefab

Préfabriqué de maillage de texte de l’interface utilisateur (Assets/MRTK/SDK/StandardAssets/Prefabs/Text) avec un facteur de mise à l’échelle optimisé à une distance de 2 mètres. (Lisez les instructions ci-dessous)

Fonts

Polices open source (Assets/MRTK/Core/StandardAssets/Fonts) incluses dans Mixed Reality Toolkit.

Important

Text Prefab utilise la police open source 'Selawik'. Pour utiliser Text Prefab avec une autre police, importez le fichier de police et suivez les instructions ci-dessous. L’exemple ci-dessous montre comment utiliser la police « Segoe UI » avec Text Prefab.

Importation du fichier de police de l’interface utilisateur Segoe

  1. Affectez la texture de police au matériau 3DTextSegoeUI.mat.

    Affectation de la texture de police

  2. Sur le matériau 3DTextSegoeUI.mat, sélectionnez le nuanceur Custom/3DTextShader.shader.

    Affectation d’un nuanceur

  3. Attribuez la police d’interface utilisateur Segoe et le matériel 3DTextSegoeUI aux composants de texte dans les préfabriqués.

    Affectation d’un fichier de police et d’un matériau

Utilisation des polices dans Unity

Lors de l’ajout d’un nouveau TextMesh 3D à une scène dans Unity, deux problèmes apparaissent visuellement. Premièrement, la police apparaît très grande et deux, la police apparaît très floue. Il est également intéressant de noter que la valeur taille de police par défaut est définie sur zéro dans l’inspecteur. Le remplacement de cette valeur zéro par 13 n’affiche aucune différence de taille, car 13 est en fait la valeur par défaut.

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

Échelle des polices et tailles de police

La plupart des concepteurs visuels utilisent points pour définir les tailles de police dans le monde réel, ainsi que leurs programmes de conception. Il y a environ 2835 points (2 834,645666399962) points dans 1 mètre. Basé sur la conversion du système de points à 1 mètre et la taille de police TextMesh par défaut d’Unity de 13, la mathématique simple de 13 divisée par 2835 est égale à 0,00466 (0,00458611116 pour être exact) fournit une bonne échelle standard pour commencer, bien que certains puissent souhaiter arrondir à 0,005.

Dans les deux cas, la mise à l’échelle de l’objet Text ou du conteneur vers ces valeurs permet non seulement la conversion 1:1 des tailles de police à partir d’un programme de conception, mais fournit également une norme pour maintenir la cohérence dans l’application ou le jeu.

Texte d'interface utilisateur

Lors de l’ajout d’un élément Text basé sur l’interface utilisateur ou le 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 pour les composants Texte basés sur l’interface utilisateur à 0,00046 (0,000458611116 pour être exact) ou 0,0005 pour la valeur arrondie.

Exclusion de responsabilité : la valeur par défaut d’une police peut être fonction de la taille de texture de cette police ou de 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.

Taille de police avec facteurs de mise à l’échelle

Text3DSelawik.mat

Matériel pour 3DTextPrefab avec prise en charge de l’occlusion. Nécessite 3DTextShader.shader

Matériau de police par défaut ou matériau 3DTextSegoeUI

Text3DShader.shader

Nuanceur pour 3DTextPrefab avec prise en charge de l’occlusion.