Mip Maps на 2D Sprite вызывает черную линию выше. Почему это?

8

Я новичок в Unity. Я пробую это и использую Futile для подхода с первым кодом, но все еще импортирую текстуры, используя систему Unity.

У меня проблема в том, что когда я использую MIP-карты для масштабирования больших спрайтов до меньших размеров без зазубренных краев, я получаю артефакт черной линии над этими спрайтами.

Трудно видеть

Немного трудно увидеть, но они есть. Если я отклоню разрешение, вы можете ясно увидеть их:

Легче увидеть

Это мои настройки текстуры:

настройки

У меня вопрос, почему эти черные линии здесь? Это ошибка, которую я сделал? Это просто общий побочный эффект? Как я могу уменьшить это? Кроме того, если это неправильный подход, как я могу использовать гладкие спрайты в игре с возможностью их плавного увеличения?

Спасибо!

Адам К Дин
источник
1
вы используете атлас, не так ли?
Heisenbug

Ответы:

10

Есть много причин, почему вы можете получить эти строки. Я написал более подробный ответ здесь , но суть в следующем:

Не делайте одновременно атлизацию и mipmapping.

Для 2D, в общем, вы не хотите / не должны делать mipmapping. Это полезно в основном в 3D, где вы не знаете размер, при котором будут отображаться ваши текстуры, но это обычно нечасто в 2D.

Если у вас определенно есть текстура, которую вы будете сильно уменьшать, не включайте ее в атлас.

И я бы также рекомендовал вам отключить анизотропию. Это дает вам лучшие результаты, когда вы смотрите на большие текстуры с чрезвычайно острых углов, чего просто не бывает, если ваша игра 2D.

Панда Пижама
источник
на самом деле правильное заполнение должно позволять использовать атлас и mipmap вместе, я не прав? +1 между прочим
Heisenbug
2
@ Heisenbug, добавляя отступы, все, что вы делаете, это переводите проблему на более низкий уровень. Если у вас должны быть мипмапы и атласы, рассмотрите возможность их создания вручную, и только до уровня, где ваш самый маленький объект имеет размер 1x1 пиксель. Но в 2D вы обычно не уменьшаете текстуры настолько, чтобы требовать mipmapping, поэтому я, конечно, рекомендую вам не смешивать atlasing и mipmapping.
Панда Пижама