Почему текстуры мерцают при движении камеры?

1

Я реализовал камеру с camera.position.lerp которая перемещается вместе с проигрывателем, только немного медленнее, используя camera.position.lerp. Проблема в том, что текстуры немного мигают (мерцают), потому что я масштабировал свои текстуры. Если я использую нормальный размер текстур, мерцание прекращается. Есть ли у кого-нибудь идеи о том, как перемещать камеру с увеличением (или масштабировать текстуры - то же самое), не заставляя текстуры мерцать (или мигать)? Я использую линейную фильтрацию и загружаю каждый актив из атласа. Я видел эту проблему на нескольких форумах, но не ответил. Я хотел загрузить текстуры с более высоким разрешением и изменить их размер в коде, поэтому я задаю этот вопрос.

  • 0
    Минимальный фильтр для текстуры должен быть MipmapLinearLinear или, по крайней мере, MipmapLinearNearest. Это должно помочь совсем немного. Мерцание происходит везде или только на краях спрайтов?
  • 0
    Да, это была проблема. Линейная фильтрация отличалась от MipMapLinear. Я переключил это и теперь у меня нет мерцания.
Показать ещё 5 комментариев
Теги:
camera
opengl
libgdx

1 ответ

0
Лучший ответ

Вы должны вытеснить границы ваших спрайтов в атласе. Опция Extrude имеет тенденцию быть близкой к Padding.

Изображение 174551

Большинство упаковщиков текстур поддерживают эту функцию, и Libgdx сразу выберет эту информацию из файла atlas.

Таким образом вы можете использовать фильтр, который хотите.

  • 0
    Я не могу найти параметр выдавливания на пакере текстур libGDX. Это может не иметь такой опции.
  • 1
    В libGDX TexturePacker это просто флажок, который говорит «дублирующее заполнение». Но похоже, что ваше мерцание больше связано с тем, что вы не использовали mipmaps. Вы также должны сделать это, хотя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню