Limpe mapas no Sprite 2D, causando linha preta acima. Por que é isso?

8

Eu sou novo na Unity. Estou testando e usando o Futile para uma abordagem de primeiro código, mas ainda importando texturas usando o sistema Unity.

O problema que estou tendo é que, quando uso mapas mip para dimensionar sprites grandes em tamanhos menores sem bordas irregulares, estou recebendo um artefato de linha preta acima dos referidos sprites.

Dificil de ver

Um pouco difícil de ver, mas eles estão lá. Se eu recusar a resolução, você poderá vê-las claramente:

Mais fácil de ver

Estas são as minhas configurações de textura:

Definições

Minha pergunta é: por que essas linhas pretas estão aqui? Foi um erro que cometi? É apenas um efeito colateral comum? Como posso reduzi-los? Além disso, se essa é a abordagem errada, como posso usar sprites suaves em um jogo com a capacidade de aumentarem suavemente?

Obrigado!

Adam K Dean
fonte
11
você está usando um atlas, não é?
precisa saber é o seguinte

Respostas:

10

Há muitas razões pelas quais você pode estar recebendo essas linhas. Eu escrevi uma resposta mais detalhada aqui , mas a linha inferior é:

Não faça atlas e mipmapping ao mesmo tempo.

Para 2D, em geral, você não deseja / precisa fazer o mipmapping. Isso é útil principalmente em 3D, onde você não sabe o tamanho em que suas texturas serão renderizadas, mas isso geralmente é incomum em 2D.

Se você definitivamente tem uma textura que reduzirá agressivamente a escala reduzida, não a inclua em um atlas.

E eu também recomendo que você desligue a anisotropia. Isso visa fornecer melhores resultados quando você olha grandes texturas de ângulos extremamente nítidos, o que simplesmente não acontece se o seu jogo for 2D.

Panda Pajama
fonte
na verdade, um preenchimento adequado deve permitir que atlas e mipmap sejam usados ​​juntos, estou errado? +1 btw
Heisenbug
2
@Heisenbug adicionando preenchimento, tudo o que você está fazendo é mover o problema para um nível mip mais baixo. Se você deve ter mipmaps e atlas, considere criá-los manualmente e somente até o nível em que seu menor objeto seja 1 x 1 pixel. Mas, em 2D, você normalmente não reduz as texturas em escala suficiente para exigir o mapeamento mip, por isso eu recomendo que você não misture atlas e mipmap.
Panda Pyjama