Подскажите пожалуйста кто знает, откуда появляются полоски на скринах ниже.
Пытаюсь подогнать спрайты дороги друг к другу, целый день пытался понять откуда появляются стыки, но в связи с тем что в фотошопе я знаю всего 2 кнопки, сомневаюсь, что сам смогу решить вопрос за вменяемое время. Есть изображение 512x512 если с какой-то стороны изображение не касается края, тогда начинает появляться стык на противоположной стороне спрайта. Если же с каждого края нарисовать элемент какой-нибудь то стык пропадает, но зато не нужные дополнения в картинке.
Что сделать, что бы удалить ненужные части изображения и при этом не появлялись стыки?
Не знаю важно или нет. Спрайты накладываю на плейны в блендере. Масштаб = 1 Вращение = 0
Точки все выставлены с одинаковым шагом.
FourGen
> Что сделать, что бы удалить ненужные части изображения и при этом не появлялись
> стыки?
Сделать бордюры(с копипастой информации из соседней текстуры в идеале, ну или из
последней полосы пикселей этой стороны в норме) в картинке и рисовать с масштабом больше 1.
Ну это костыль конечно.
Если текстура не тайловая(то есть у вас дорога собирается из квадратных "блоков"), то достаточно в материале переключить в настройках на ноде текстуры режим тайлинга с Repeat на Extend.
Если это делается под игровой движок, то уже в движке нужно будет тоже в настройках импорта текстур выставлять правильный режим.
>Super_inoy
Стыки у меня все одинаковые +-, то есть швы затер более или менее. Как накладывать текстру без разницы, если ее сдвинуть, сделать размер больше объекта или что-то типа такого полоса все равно присутсвует и не убирается.
>marggob
Да дорога из блоков будет, по этому и пытаюсь подогнать, попробую, спасибо. Да делается под Unity.
Координаты типа float тому виной
Опять всему виной плавающий петух.
разумеется, плавающий питух к делу никак не относится, как минимум потому что интерполяция вершинных атрибутов (включая uv) вообще выполняется в fixed point.
проблема либо в address mode (текстура зацикливается и поэтому при семплинге с одного края вылезает интерполяция с текселями на другом краю), либо это мипы, потому что при построении мипов тоже тексели усредняются.
чтобы проверить, являются ли причиной проблемы мипы, то читай вручную из какого-нибудь 3го мипа: textureLod(tex, uv, 5.0f); чтобы проверить, является ли причиной address mode, включи clamp to edge режим или как он там в этом вашем юнити называется.
для того, чтобы решить проблему, сначала нужно знать, как ты хранишь текстуры : в атласе, либо каждый тайл отдельным изображением, потому что address mode для атласа по понятным причинам использовать не получится.
является ли причиной address mode, включи clamp to edge
С таким не знаком, почитаю.
построении мипов тоже тексели усредняются
Сорри не знаю что такое мипы и тексели тоже почитаю )) я пока мало разбирался с тексутрными координатами, наизращался пипец, пока меш острова генерил, но суть вроде понял. Пока модели доделаю все потом координаты считаю проверю.
Тут что-то явно простое должно быть, если картинка полностью заполнена, то все ок, если картинка не симметрична относительно центра и хоть по какой-то стороне и не полностью заполнена то появляются полоски.
Вероятно ключевой момент относительно центра.
>gambit_oz
Координаты типа float тому виной
Если отсутствие части картинки как-то влияет на эти координаты, хотя маловероятно там же 0 1 то может быть.
Вероятно, что-то с какими-то настройками просто, выглядит это так.
Спасибо.
FourGen
> Тут что-то явно простое должно быть, если картинка полностью заполнена, то все
> ок, если картинка не симметрична относительно центра и хоть по какой-то стороне
> и не полностью заполнена то появляются полоски.
Эта проблема прям на этом форуме обсуждалась с начала времен.
Суть проста - сглаживание так работает, когда информации в начале текстуры нет(от 0 до 0.5 пикселя
lerp'у нужна информация с -1 пикселя для корректной работы) - берет из конца,
clamp to edge режим это отключает, но в древние времена его вроде бы не было, а в чуть менее древние
он тормозил относительно дефолтного поведения.
P.S. а из-за мип уровней при взгляде с растояния проблема может проявляться, даже будучи зафикшенной
в хорошем качестве.
u960
> а ue5 не рассматривали? там таких проблем и сложностей нету.
что, они свой general AI поставляют, который угадывает, как тебе текстурные координаты оборачивать?
>Super_inoy
Понял, спасибо. Главное, что это не какой-то мой косяк.
>u960
Прога на UE с 30ю спрайтами 170 метров на мобилку. Постоянно падает клиент (как пишут).
Прога на Unity c 500 моделями 1000 материалами и кучей всего еще 150 метров. (из них звук 40 метров).
Падает раз в пятилетку.
Вроде победилась дорога, спасибо за помощь
FourGen
> является ли причиной address mode, включи clamp to edge
>
> С таким не знаком, почитаю.
В свойствах текстур Wrap mode -> поменяй с Repeat на Clamp