Por que meu Texture2D personalizado está embaçado?


8

Tenha algum objeto WWW baixando uma imagem .PNG.

((SpriteRenderer)renderer).sprite = Sprite.Create(request.texture, 
         new Rect(0,0,100,100));

Meu sprite parece bem.

Agora, vamos ser um pouco redundantes e criar um Texture2Dfora dos bytes a partir do download:

Texture2D t = new Texture2D(100,100);
t.LoadImage(request.bytes);
((SpriteRenderer)renderer).sprite = Sprite.Create(t, new Rect(0,0,t.width,t.height));

Tecnicamente, isso deve produzir algo idêntico ao snippet acima. No entanto, o sprite está embaçado (como em baixa qualidade).

Suponho que seja ao ligar LoadImage. O que pode estar causando isso?


Sei que as texturas carregadas no editor podem ficar embaçadas se o MipMapping estiver ativado. Deve estar DESLIGADO para texturas 2D. Não tenho certeza de como isso está relacionado ao carregamento do código.
— BAD

Respostas:


9

Tente alterar o filterMode para Point:

t.filterMode = FilterMode.Point;

11
Alterar o modo de filtro funcionou, embora tenha sido Trilinearo que produz os melhores resultados (não sei por que).
— Oxide

11
Estou feliz que tenha resolvido isso. Eu acho que estava visualizando pixel art (geralmente melhor com filtragem de pontos) enquanto o modo ideal varia de acordo com o estilo artístico.
— Kelly Thomas
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.