Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Артефакты по краям ATF (http://www.flasher.ru/forum/showthread.php?t=214388)

Sanyok 12.07.2017 19:19

Артефакты по краям ATF
 
Вложений: 1
Подскажите пожалуйста, кто ни будь сталкивался с таким?
Заметно на стыке текстур.
Пробовал конвертировать png -> pvr -> atf не помогает.

faraday 12.07.2017 21:28

это бекграунд? один тайл = один атлас?

illuzor 13.07.2017 11:09

Может артефакты в изначальных изображениях?

Sanyok 13.07.2017 12:00

Цитата:

Сообщение от faraday (Сообщение 1201182)
это бекграунд? один тайл = один атлас?

Все atf'ки отдельные тайлы. В исходниках нет этих артефактов.

caseyryan 13.07.2017 13:33

Это типичная проблема для текстур. На форуме старлинга сто раз обсуждалось. Решения, дающего 100% результат, нет. Можно паковать текстуры в атлас, делая зазоры (border padding) по 2 пикселя. TexturePacker это умеет. Но по опыту могу сказать, что это тоже не всегда решает проблему.

faraday 13.07.2017 14:52

у меня такая проблема была, когда тайлы были сабтекстурами одного атласа. помогло разделение с бордером
также решением может являться наложение тайлов со смещением -1 пиксель

Nooob 13.07.2017 22:02

решал эту проблему на OpenGLES, но для Stage3d могу посоветовать:
1 вариант: продублировать 1 px по краям и отключить/включить(не помню точно, нужно экспериментировать) сабпиксельное сглаживание <2d,clamp,nearest,nomip> и попробовать отключить/включить antialiasing в configureBackBuffer
2 вариант: рисовать одним drawCall, все тайлы должны быть в одном вершинном буфере, текстура должна рисоваться во фрагментном шейдере (если их до 8) приемом "multitexturing" со значением смешивания в вершинах или если используется AGAL2 через if или одним атласом (если атлас вмещается в 2048 или если BaselineExtendedProfile то 4k+)

Zebestov 15.07.2017 01:09

А разве extrude не решает?

caseyryan 15.07.2017 17:04

Цитата:

Сообщение от Zebestov (Сообщение 1201199)
А разве extrude не решает?

А чем это отличается от border padding'а, который делает TexturePacker?

Zebestov 15.07.2017 17:34

Border padding добавляет пустое место вокруг спрайта.
Extrude дублирует краевые пиксели вокруг спрайта.
Одно но: на пользу это идет только тайлам, не всем спрайтам это подходит. По крайней мере старый Texture Packer не умел делать extrude выборочно. Поэтому такое можно мутить врукопашную в Photoshop-е на уже готовом атласе.


Часовой пояс GMT +4, время: 17:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.