AndEngine - артефакты при прокрутке карты (связанные с TextureOptions) - PullRequest
2 голосов
/ 23 февраля 2012

Я занимаюсь разработкой 2D Side Scroll Android Game, используя AndEngine.

У меня проблема с качеством плиток.

Если я буду использовать опцию текстуры ПО УМОЛЧАНИЮ, то для моих текстурных конгломератных плиток она будет выглядеть не идеально, контуры НЕ гладкие, и т. Д .:

enter image description here

Параметры текстуры DEFAULT, использует такие параметры OPEN GL:

new TextureOptions(GL10.GL_NEAREST, GL10.GL_NEAREST, GL10.GL_CLAMP_TO_EDGE, GL10.GL_CLAMP_TO_EDGE, GL10.GL_MODULATE, true);

Но в последнее время я понял, что если я буду использовать такие параметры (аналогично параметрам BILINEAR, кромепоследний)

new TextureOptions(GL10.GL_LINEAR, GL10.GL_LINEAR, GL10.GL_CLAMP_TO_EDGE, GL10.GL_CLAMP_TO_EDGE, GL10.GL_MODULATE, true)

графика выглядит плавной (я бы сказал, идеально, проверьте изображение ниже)

enter image description here

Все было бы идеально, но при перемещении камеры (Камера гонится за плеером) Есть видимые контуры этих спрайтов, как, например, на этом экране:

enter image description here

Я пытался использовать разные параметры OPEN GL, но безуспешно,Буду благодарен за помощь.С опцией текстуры DEFAULT такой проблемы не существует, но качество плохое.Спасибо.

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

1 Ответ

2 голосов
/ 24 февраля 2012

Это происходит потому, что функция, используемая для сглаживания текстур, использует пиксели, которые находятся за пределами изображений в Атласе текстуры. По умолчанию они черные, поэтому пиксели по краям отравлены черной областью снаружи.

Я временно исправил проблему, расширив изображение со всех сторон на 1 пиксель и поместив туда копию соседней строки размером 1 пиксель с картинки. Затем я установил мой TextureRegion так, чтобы он содержал только середину изображения с отступом снаружи. Результаты, вероятно, не идеальны, но линии больше не заметны.

Я видел, как кто-то на форумах AndEngine говорил, что в последней версии проблема исправлена, поэтому вы можете попробовать обновить.

...