Prefab di testo - MRTK2

Questi prefab sono ottimizzati per la qualità del rendering in Windows Mixed Reality. Per altre informazioni, leggere le linee guida Testo in Unity in Microsoft Windows Dev Center.

Oggetti prefab

3DTextPrefab

Testo 3D Mesh prefab (Asset/MRTK/SDK/StandardAssets/Prefabs/Text) con fattore di ridimensionamento ottimizzato a distanza di 2 metri. (Leggere le istruzioni riportate di seguito)

UITextPrefab

Testo dell'interfaccia utente Mesh prefab (Asset/MRTK/SDK/StandardAssets/Prefabs/Text) con fattore di ridimensionamento ottimizzato a distanza di 2 metri. (Leggere le istruzioni riportate di seguito)

Tipi di carattere

Tipi di carattere open source (Asset/MRTK/Core/StandardAssets/Font) inclusi in Realtà mista Toolkit.

Importante

Text Prefab usa il tipo di carattere open source 'Selawik'. Per usare Il prefab di testo con un tipo di carattere diverso, importare il file di carattere e seguire le istruzioni riportate di seguito. Nell'esempio seguente viene illustrato come usare il tipo di carattere "Segoe UI" con Text Prefab.

Importing Segoe UI font file

  1. Assegnare la trama del carattere al materiale 3DTextSegoeUI.mat.

    Assigning font texture

  2. Nel materiale 3DTextSegoeUI.mat selezionare lo shader Custom/3DTextShader.shader.

    Assigning shader

  3. Assegnare il carattere dell'interfaccia utente di Segoe e il materiale 3DTextSegoeUI ai componenti di testo nei prefab.

    Assigning font file and material

Uso dei tipi di carattere in Unity

Quando si aggiunge una nuova 3D TextMesh a una scena in Unity sono presenti due problemi che sono visivamente evidenti. Uno, il carattere appare molto grande e due, il carattere appare molto sfocato. È anche interessante notare che il valore predefinito Dimensioni carattere è impostato su zero nel controllo. La sostituzione di questo valore zero con 13 non mostrerà alcuna differenza di dimensione, perché 13 è effettivamente il valore predefinito.

Unity presuppone che tutti i nuovi elementi aggiunti a una scena siano 1 Unità Unity in dimensioni o scala di trasformazione del 100%, che si traduce in circa 1 contatore nella HoloLens. Nel caso dei tipi di carattere, il rettangolo di selezione per un oggetto TextMesh 3D viene fornito, per impostazione predefinita a circa 1 metro di altezza.

Scalabilità dei tipi di carattere e dimensioni del carattere

La maggior parte dei progettisti visivi usa Punti per definire le dimensioni dei tipi di carattere nel mondo reale, nonché i loro programmi di progettazione. Ci sono circa 2835 (2.834.64566639962) punti in 1 metro. In base alla conversione del sistema del punto a 1 metro e alle dimensioni predefinite del carattere TextMesh di Unity pari a 13, la matematica semplice di 13 divisa da 2835 equivale a 0,0046 (0,004586111116) fornisce una buona scala standard da iniziare, anche se alcuni possono voler arrotondare a 0,005.

In entrambi i casi, il ridimensionamento dell'oggetto Text o del contenitore in questi valori non consente solo la conversione 1:1 delle dimensioni del carattere da un programma di progettazione, ma offre anche uno standard per mantenere la coerenza in tutta l'applicazione o il gioco.

Testo interfaccia utente

Quando si aggiunge un elemento Text basato su interfaccia utente o canvas a una scena, la disparità delle dimensioni è ancora maggiore. Le differenze tra le due dimensioni sono circa il 1000%, che porterebbe il fattore di scala per i componenti Di testo basati sull'interfaccia utente a 0,00046 (0,000458611116) o 0,0005 per il valore arrotondato.

Dichiarazione di non responsabilità: il valore predefinito di qualsiasi tipo di carattere può essere effettivo dalle dimensioni della trama del tipo di carattere o dal modo in cui il carattere è stato importato in Unity. Questi test sono stati eseguiti in base al tipo di carattere Arial predefinito in Unity, nonché a un altro tipo di carattere importato.

Font size with scaling factors

Text3DSelawik.mat

Materiale per 3DTextPrefab con supporto di occlusion. Richiede 3DTextShader.shader

Default Font material vs 3DTextSegoeUI material

Text3DShader.shader

Shader per 3DTextPrefab con supporto di occlusion.