Sprites embutidos no texto do Unity?

10

Como posso usar materiais diferentes ao usar a tag para a sintaxe de rich text do Unity?

Quero poder criar sprites alinhados com o meu texto sem precisar criar fontes personalizadas.

Aqui está o que tenho até agora: insira a descrição da imagem aqui Aqui está a sintaxe que estou usando para o texto na minha imagem:

Planetary <quad material=1 size=20 x=0.1 y=0.1 width=0.1 height=0.1 /> Intergalactic

Estou supondo que "material = 1" se refere ao índice de material do objeto Text. Como posso configurá-lo para usar um material completamente diferente?

Existe um plug-in ou outro recurso que facilita a incorporação de ícones no texto?

James Linden
fonte
3
Usando um quadcom rich text do Unity é o único caminho a percorrer. O materialatributo é o material na "posição na matriz de materiais do renderizador". Eu pré-processava ou concaturava o índice de material adequado, procurando Renderer.materialso material que você procura .
MLM
Vou tentar e voltar com alguns resultados, obrigado MLM!
James Linden
1
Esta pergunta está cruzada nas respostas do Unity . Parece que, embora o rich text seja suportado, os quads não estão de acordo com Tim C e Phil do Unity, consulte: forum.unity3d.com/threads/…
MLM
1
Fiz uma implementação que faz isso no UI Text (em oposição ao método quad com TextMesh) gerando e posicionando dinamicamente imagens filho. Os detalhes ficam um pouco complicados, mas se for útil para qualquer pessoa, posso escrevê-lo como resposta.
DMGregory
@DMGregor, eu adoraria que você escrevesse uma resposta ou link para o seu código para o seu script de imagem Sprited.
James McMahon

Respostas:

1

Como o sistema de texto ainda é o sistema de texto herdado, não é possível incorporar imagens no texto. A única opção seria ter um grupo de layouts e blocos de texto e imagem separados

Como alternativa, você pode usar um ativo como o TextMeshPro, que possui uma nova implementação de texto que suporta totalmente isso (e muito mais!)

Lado escuro
fonte