Warum ist meine benutzerdefinierte Texture2D verschwommen?


8

Lassen Sie ein WWW-Objekt ein PNG-Bild herunterladen.

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

Mein Sprite sieht gut aus.

Lassen Sie uns nun etwas redundant sein und Texture2Daus den Bytes des Downloads ein erstellen :

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

Technisch sollte dies etwas erzeugen, das mit dem obigen Snippet identisch ist. Das Sprite ist jedoch verschwommen (wie bei geringer Qualität).

Ich nehme an, es ist beim Anruf LoadImage. Was kann dies verursachen?


Ich weiß, dass im Editor geladene Texturen verschwommen sein können, wenn MipMapping aktiviert ist. Es sollte für 2D-Texturen AUS sein. Ich bin mir nicht sicher, wie sich das auf das Laden aus Code bezieht.
ADB

Antworten:


9

Versuchen Sie, den filterMode in Point zu ändern :

t.filterMode = FilterMode.Point;

1
Das Ändern des Filtermodus funktionierte, obwohl er Trilineardie besten Ergebnisse lieferte (nicht sicher warum).
Oxid

1
Ich bin froh, dass das geklärt wurde. Ich schätze, ich habe Pixelkunst visualisiert (normalerweise am besten mit Punktfilterung), während der ideale Modus je nach Kunststil variiert.
Kelly Thomas
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.