Pré-fabricado de texto – MRTK2

Esses pré-fabricados são otimizados para a qualidade de renderização em Windows Mixed Reality. Para obter mais informações, leia a diretriz Texto no Unity no Microsoft Windows Centro de Desenvolvimento.

Pré-fabricados

3DTextPrefab

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

UITextPrefab

Pré-fabricado Mesh de texto da interface do usuário (Ativos/MRTK/SDK/StandardAssets/Prefabs/Text) com fator de dimensionamento otimizado a uma distância de 2 metros. (Leia as instruções abaixo)

Fontes

Fontes de software livre (Assets/MRTK/Core/StandardAssets/Fonts) incluídas em Realidade Misturada Toolkit.

Importante

O Prefab de Texto usa a fonte código aberto 'Selawik'. Para usar a Prefab de Texto com uma fonte diferente, importe o arquivo de fonte e siga as instruções abaixo. O exemplo abaixo mostra como usar a fonte 'Segoe UI' com o Prefab de Texto.

Importing Segoe UI font file

  1. Atribuir textura de fonte ao material 3DTextSegoeUI.mat.

    Assigning font texture

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

    Assigning shader

  3. Atribua a fonte segoe UI e o material 3DTextSegoeUI aos componentes de texto nos pré-fabricados.

    Assigning font file and material

Trabalhando com fontes no Unity

Ao adicionar um novo TextMesh 3D a uma cena no Unity, há dois problemas visualmente aparentes. Primeiro, a fonte aparece muito grande e duas, a fonte aparece muito desfocada. Também é interessante observar que o valor de Tamanho da Fonte padrão está definido como zero no Inspetor. Substituir esse valor zero por 13 não mostrará nenhuma diferença de tamanho, pois 13 é, na verdade, o valor padrão.

O Unity pressupõe que todos os novos elementos adicionados a uma cena sejam 1 Unidade do Unity em tamanho ou escala de transformação de 100%, que se traduz em cerca de 1 metro na HoloLens. No caso de fontes, a caixa delimitadora de um TextMesh 3D entra, por padrão, com cerca de 1 metro de altura.

Dimensionamento de fontes e tamanhos de fonte

A maioria dos designers visuais usa Pontos para definir tamanhos de fonte no mundo real, bem como seus programas de design. Há cerca de 2835 pontos (2.834,645666399962) em 1 metro. Com base na conversão do sistema de pontos em 1 metro e no Tamanho da Fonte TextMesh padrão do Unity de 13, a matemática simples de 13 dividida por 2835 é igual a 0,0046 (0,004586111116 para ser exata) fornece uma boa escala padrão para começar, embora alguns possam desejar arredondar para 0,005.

De qualquer forma, o dimensionamento do objeto text ou contêiner para esses valores não só permitirá a conversão 1:1 de tamanhos de fonte de um programa de design, mas também fornecerá um padrão para manter a consistência em todo o aplicativo ou jogo.

Texto da interface do usuário

Ao adicionar um elemento text baseado em interface do usuário ou tela a uma cena, a disparidade de tamanho ainda é maior. As diferenças nos dois tamanhos são de cerca de 1000%, o que levaria o fator de escala para componentes de texto baseados em interface do usuário para 0,00046 (0,000458611116 para ser exato) ou 0,00005 para o valor arredondado.

Isenção de responsabilidade: o valor padrão de qualquer fonte pode ser afetado pelo tamanho da textura dessa fonte ou como a fonte foi importada para o Unity. Esses testes foram realizados com base na fonte Arial padrão no Unity, bem como em uma outra fonte importada.

Font size with scaling factors

Text3DSelawik.mat

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

Default Font material vs 3DTextSegoeUI material

Text3DShader.shader

Sombreador para 3DTextPrefab com suporte de oclusão.