Partilhar via


Texto no Unity

O texto é um dos componentes mais importantes em aplicações holográficas. Para apresentar texto no Unity, existem três tipos de componentes de texto que pode utilizar: Texto da IU, Malha de Texto 3D e Text Mesh Pro. Por predefinição, o Texto da IU e a Malha de Texto 3D aparecem desfocados e são demasiado grandes. A alteração de algumas variáveis resulta num texto mais nítido e de maior qualidade com um tamanho gerível no HoloLens. Pode obter uma melhor qualidade de composição ao aplicar um fator de dimensionamento para obter dimensões adequadas ao utilizar os componentes texto da IU e 3D Text Mesh.

Como obter texto afiado e bonito
Texto predefinido desfocado no Unity

Trabalhar com Texto 3D (Malha de Texto) e Texto da IU do Unity

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

Trabalhar com Tipos de Letra no Unity
O Texto 3D predefinido do Unity (Malha de Texto) ocupa uma Unidade do Unity, que é de 1 metro


A maioria dos designers visuais utiliza pontos para definir tamanhos de tipos de letra no mundo real. 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 de tipo de letra de Malha de Texto predefinido do Unity de 13, a matemática simples de 13 dividida por 2835 é igual a 0,0046 (0,0045861116 para ser exata), o que proporciona uma boa escala padrão para começar (alguns podem querer arredondar para 0,005). 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 num programa de design, como também fornece um padrão para que possa manter a consistência ao longo da sua experiência.

Dimensionar valores para Texto 3D e Texto de IU do Unity
Dimensionar valores para Texto 3D e Texto de IU do Unity


Malha de Texto 3D do Unity com valores otimizados
Malha de Texto 3D do Unity com valores otimizados


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 de cerca de 1000%, o que elevaria o fator de escala para os componentes de texto baseados na IU para 0,00046 (0,000458611116) ou 0,0005 para o valor arredondado.

Texto da IU do Unity com valores otimizados
Texto da IU do Unity com valores otimizados


Nota

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.

Trabalhar com o Text Mesh Pro

Com o Text Mesh Pro do Unity, pode proteger a qualidade de composição de texto. Suporta contornos de texto nítido, independentemente da distância através da técnica Campo de Distância Assinado (SDF). Com o mesmo método de cálculo que utilizámos acima para a Malha de Texto 3D e o Texto de IU, podemos encontrar os valores de dimensionamento adequados a utilizar com pontos tipográficos convencionais. Uma vez que o tipo de letra 3D Text Mesh Pro predefinido com o tamanho 36 tem um tamanho delimitador de 2,5 unidades unity (2,5 m), podemos utilizar um valor de dimensionamento de 0,005 para obter o tamanho do ponto. O Text Mesh Pro no menu IU tem um tamanho delimitatório predefinido de 25 unidades do Unity (25 m). Isto dá-nos 0,0005 para o valor de dimensionamento.

Dimensionar valores para a IU e o Texto 3D do Unity
Dimensionar valores para a IU e o Texto 3D do Unity

Como pode esperar, os tamanhos de tipo que utilizamos num PC ou num tablet (normalmente entre 12 e 32pt) parecem pequenos a uma distância de 2 metros. Depende das características de cada tipo de letra, mas, em geral, o ângulo de visualização mínimo recomendado e a altura do tipo de letra para legibilidade rondam os 0,35°-0,4°/12.21-13,97 mm com base nos nossos estudos de pesquisa de utilizadores. É cerca de 35-40 pt com o fator de dimensionamento introduzido acima.

Para a interação próxima a 0,45 m (45 cm), o ângulo de visualização do tipo de letra legível mínimo e a altura são de 0,4°-0,5° / 3,14–3,9mm. É cerca de 9-12 pt com o fator de dimensionamento introduzido acima.

Intervalo de interação próximo e distanteConteúdo num intervalo de interação próximo e distante

O tamanho mínimo do tipo de letra legível

Distância Ângulo de visualização Altura do texto Tamanho do tipo de letra
45 cm (distância de manipulação direta) 0.4°-0.5° 3.14–3.9mm 8.9–11.13pt
2 m 0.35°-0.4° 12.21–13.97mm 34.63-39.58 pt

O tamanho do tipo de letra confortavelmente legível

Distância Ângulo de visualização Altura do texto Tamanho do tipo de letra
45 cm (distância de manipulação direta) 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

A IU do Segoe (o tipo de letra predefinido para Windows) funciona bem na maioria dos casos. No entanto, evite utilizar famílias de tipos de letra leves ou semi leves em tamanho pequeno, uma vez que os traços verticais finos vibrarão e irão degradar a legibilidade. Os tipos de letra modernos com espessura de traço suficiente funcionam bem. Por exemplo, Helvetica e Arial parecem lindos e legíveis no HoloLens com pesos regulares ou arrojados.

Vera distância, o ângulo e a altura do texto da Visualização em Ângulo

Texto com Mixed Reality Toolkit v2

Qualidade de composição de texto afiado com dimensão adequada

Com base nestes fatores de dimensionamento, criámos pré-fabricados de texto com Texto de IU e Malha de Texto 3D. Os programadores podem utilizar estas pré-tarefas para obter texto afiado e tamanho de tipo de letra consistente.

Qualidade de composição de texto afiado com dimensão adequada
Qualidade de composição de texto afiado com dimensão adequada

Shader com suporte de oclusão

O material de tipo de letra predefinido do Unity não suporta oclusão. Por este motivo, verá o texto por trás dos objetos por predefinição. Incluímos um tom simples que suporta a oclusão. A imagem abaixo mostra o texto com material de tipo de letra predefinido (à esquerda) e o texto com oclusão adequada (direita).

Shader com suporte de oclusão
Shader com suporte de oclusão

Próximo Ponto de Verificação de Desenvolvimento

Se estiver a seguir o percurso de desenvolvimento do Unity que definimos, está no meio de explorar os principais blocos modulares do MRTK. A partir daqui, pode continuar para o bloco modular seguinte:

Em alternativa, avance para Mixed Reality capacidades e APIs da plataforma:

Pode sempre voltar aos pontos de verificação de desenvolvimento do Unity em qualquer altura.

Ver também