Mip Maps en 2D Sprite provocando una línea negra arriba. ¿Por qué es esto?

8

Soy nuevo en la Unidad. Lo estoy probando y usando Futile para un enfoque de código primero, pero sigo importando texturas usando el sistema Unity.

El problema que tengo es que cuando uso mapas MIP para escalar sprites grandes a tamaños más pequeños sin bordes irregulares, obtengo un artefacto de línea negra sobre dichos sprites.

Difícil de ver

Un poco difícil de ver, pero están ahí. Si rechazo la resolución, puede verlos claramente:

Más fácil de ver

Estas son mis configuraciones de textura:

Configuraciones

Mi pregunta es, ¿por qué están estas líneas negras aquí? ¿Es un error que he cometido? ¿Es solo un efecto secundario común? ¿Cómo puedo reducir estos? Además, si este es el enfoque incorrecto, ¿cómo puedo usar sprites suaves en un juego con la capacidad de escalar sin problemas?

¡Gracias!

Adam K Dean
fuente
1
Estás usando un atlas, ¿no?
Heisenbug

Respuestas:

10

Hay muchas razones por las que puede obtener esas líneas. Escribí una respuesta más detallada aquí , pero la conclusión es:

No haga atlas y mipmapping al mismo tiempo.

Para 2D, en general, no quiere / necesita hacer mipmapping. Eso es útil principalmente en 3D, donde no se conoce el tamaño en el que se procesarán las texturas, pero eso es poco común en 2D.

Si definitivamente tiene una textura que reducirá agresivamente, no la incluya en un atlas.

Y también te recomiendo que desactives la anisotropía. Eso está destinado a brindarte mejores resultados cuando estás mirando texturas grandes desde ángulos extremadamente agudos, lo que simplemente no sucede si tu juego es 2D.

Pijama Panda
fuente
en realidad, un relleno adecuado debería permitir que atlas y mipmap se usen juntos, ¿me equivoco? +1 por cierto
Heisenbug
2
@Heisenbug agregando relleno, todo lo que está haciendo es mover el problema a un nivel de mip más bajo. Si debe tener mapas MIP y atlas, considere crearlos manualmente, y solo hasta el nivel en el que su objeto más pequeño sea 1x1 píxel. Pero en 2D generalmente no reduce las texturas lo suficiente como para requerir mipmapping, por lo que le recomiendo que no mezcle atlas y mipmapping.
Panda Pyjama