Estou olhando para os novos recursos 2D introduzidos no Unity 4.3 e acho que posso estar perdendo alguma coisa.
Para mim, parece que eles foram projetados para jogos 2D de alta resolução, onde a escala dos sprites é boa, mas não é adequada para jogos de pixel-art.
Um sprite de pixel-art é projetado para ser exibido exatamente 1: 1 pixels na tela: o dimensionamento o destrói (o dimensionamento linear é uma exceção, ou seja, você pode dimensioná-lo 2x, 3x, 4x etc.).
No entanto, não encontrei nenhuma maneira de "apenas exibi-lo como está", aparentemente o Unity insiste em escalá-lo para a resolução que achar melhor: posso controlar o parâmetro Camera.size e o parâmetro "pixels em unidades" do sprite , mas não consegui obter esse resultado.
Respostas:
Este artigo fornece algumas explicações úteis, mesmo que isso tenha ocorrido antes da versão 4.3:
(alguma ênfase adicionada)
Obviamente, isso funciona melhor se a resolução da altura é divisível pelo tamanho do sprite, mas mesmo quando não é, ainda oferece uma boa aproximação de um resultado decente.
TL; DR :
cameraSelf.orthographicSize = screenH / (float)spriteSize / 2f;
fonte