Pré-fabricado de texto — MRTK2

Estes pré-fabricados estão otimizados para a qualidade de composição no Windows Mixed Reality. Para obter mais informações, leia a orientação Texto no Unity no Microsoft Windows Dev Center.

Pré-fabricados

3DTextPrefab

Pré-fabricado do Text Mesh 3D (Assets/MRTK/SDK/StandardAssets/Prefabs/Text) com fator de dimensionamento otimizado à distância de 2 metros. (Leia as instruções abaixo)

UITextPrefab

Pré-fabricador do Text Mesh da IU (Assets/MRTK/SDK/StandardAssets/Prefabs/Text) com fator de dimensionamento otimizado a uma distância de 2 metros. (Leia as instruções abaixo)

Tipos de letra

Tipos de letra open source (Assets/MRTK/Core/StandardAssets/Fonts) incluídos no Mixed Reality Toolkit.

Importante

A Prefab de Texto utiliza o tipo de letra open source "Selawik". Para utilizar a Prefab de Texto com um tipo de letra diferente, importe o ficheiro de tipo de letra e siga as instruções abaixo. O exemplo abaixo mostra como utilizar o tipo de letra "Segoe UI" com a Prefab de Texto.

Importar o ficheiro de tipo de letra da IU do Segoe

  1. Atribua textura do tipo de letra a material 3DTextSegoeUI.mat.

    Atribuir textura do tipo de letra

  2. No material 3DTextSegoeUI.mat, selecione o shader Custom/3DTextShader.shader.

    Atribuir sombreado

  3. Atribua o tipo de letra Segoe UI e o material 3DTextSegoeUI aos componentes de texto nos pré-fabricados.

    Atribuir material e ficheiro de tipo de letra

Trabalhar com Tipos de Letra no Unity

Ao adicionar um novo TextMesh 3D a uma cena no Unity, existem dois problemas que são visualmente visíveis. Primeiro, o tipo de letra aparece muito grande e dois, o tipo de letra aparece muito desfocado. Também é interessante notar que o valor de Tamanho do Tipo de Letra predefinido está definido como zero no Inspetor. Substituir este valor zero por 13 não mostrará nenhuma diferença no tamanho, uma vez que 13 é, na verdade, o valor predefinido.

O Unity pressupõe que todos os novos elementos adicionados a uma cena têm um tamanho de 1 Unidade do Unity ou uma escala de Transformação a 100%, o que se traduz em cerca de 1 metro no HoloLens. No caso dos tipos de letra, a caixa delimitadora de um TextMesh 3D é apresentada, por predefinição, com uma altura de cerca de 1 metro.

Dimensionamento de Tipos de Letra e Tamanhos de Tipos de Letra

A maioria dos designers visuais utiliza Pontos para definir tamanhos de tipos de letra no mundo real, bem como os programas de design. Existem cerca de 2835 pontos (2.834.645666399962) em 1 metro. Com base na conversão do sistema de pontos para 1 medidor e no Tamanho do Tipo de Letra TextMesh predefinido do Unity de 13, a matemática simples de 13 dividida por 2835 é igual a 0,0046 (0,0045861116 para ser exata) fornece uma boa escala padrão para começar, embora alguns possam querer arredondar para 0,005.

De qualquer forma, dimensionar o objeto de Texto ou contentor para estes valores não só permitirá a conversão de tamanhos de tipo de letra 1:1 a partir de um programa de design, como também fornece um padrão para manter a consistência em toda a aplicação ou jogo.

Texto da IU

Ao adicionar uma IU ou um elemento de Texto baseado em telas a uma cena, a disparidade de tamanho é ainda maior. As diferenças nos dois tamanhos são cerca de 1000%, o que elevaria o fator de escala para componentes de Texto baseados na IU para 0,00046 (0,000458611116) ou 0,0005 para o valor arredondado.

Exclusão de responsabilidade: o valor predefinido de qualquer tipo de letra pode ser afetado pelo tamanho da textura desse tipo de letra ou pela forma como o tipo de letra foi importado para o Unity. Estes testes foram realizados com base no tipo de letra Arial predefinido no Unity, bem como num outro tipo de letra importado.

Tamanho do tipo de letra com fatores de dimensionamento

Text3DSelawik.mat

Material para 3DTextPrefab com suporte de oclusão. Requer 3DTextShader.shader

Material de Tipo de Letra Predefinido vs. material 3DTextSegoeUI

Text3DShader.shader

Shader para 3DTextPrefab com suporte de oclusão.