Estoy mirando las nuevas características 2D introducidas en Unity 4.3, y creo que podría estar perdiendo algo.
Para mí, parece que están diseñados para juegos 2D de alta resolución, donde escalar los sprites está bien, pero no es adecuado para juegos de pixel art.
Un sprite de pixel art está diseñado para mostrarse exactamente 1: 1 píxeles en la pantalla: el escalado lo destruye (el escalado lineal es una excepción, es decir, puede escalarlo 2x, 3x, 4x, etc.).
Sin embargo, no he encontrado la forma de "simplemente mostrarlo tal cual", aparentemente Unity insiste en escalarlo a la resolución que considere adecuada: puedo controlar el parámetro Camera.size y el parámetro "píxeles a unidades" del sprite , pero no pude obtener este resultado.
Respuestas:
Este artículo ofrece algunas explicaciones útiles, incluso si eso fue antes de que saliera 4.3:
(un poco de énfasis agregado)
Obviamente, esto funciona mejor si la resolución de altura es divisible por el tamaño del sprite, pero incluso cuando no lo es, todavía ofrece una buena aproximación de un resultado decente.
TL; DR :
cameraSelf.orthographicSize = screenH / (float)spriteSize / 2f;
fuente