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.