Избавляемся от швов

Добавлен , опубликован
Раздел:
Моделлинг
Наверняка, работая с моделями (особенно экспортированными из других игр, например, World of Warcraft), вы встречались с проблемой появления швов. Если нет, то я поясню, как это выглядит.
У нас имеется каркас из полигонов, который представляет из себя две половинки. На них натянута с двух отражённых сторон одна и та же текстура. На моей модели это лицо персонажа.
Когда мы включаем полный просмотр, получаем следующий результат:
Как видно, на лице просматривается шов. Это последствие склейки полигонов с натянутыми копиями текстуры с разных сторон.
Изначально решением было смещение точек развёртки геосета "вглубь" текстуры, подальше от её краёв.
Но недавно я придумал другое решение: нужно убрать флаги "Wrap Width" и "Wrap Height" в свойствах текущей текстуры.
В War3 Model Editor это делается через меню Windows / Texture Manager / правый клик по текстуре / Edit / Texture Wrapping.
Тогда программа отрисовки не будет понимать текстуру как "тайл" и её края приобретут чёткие границы. Я думаю, что это глюк алгоритма обработки текстур-тайлов, который приводит к швам на границах.
Отдельная благодарность: Wolverine.

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
37
14 лет назад
0
Iron, всё бы ничего, если бы я юзал 0,0, а не 1.8, допустим :)
т.е. я так понимаю, он заполняет внутренние пиксели своим градиентом вместо абсолютного перехода, а это и есть "глюк" ибо это "не то, что ожидалось"
0
22
14 лет назад
0
"всё бы ничего, если бы я юзал 0,0, а не 1.8"
?? Вроде ж координаты вершины на карте текстур в mdx это два float значения. Т.е. координаты (1, 8) это правая нижняя точка седьмого повторения текстуры по направлению вниз (ну или правая верхняя точка восьмого)
Ну а если ты имел ввиду пиксели то я тебе гарантирую, что если координаты находятся в рамках:
(0.5 / TextureWidethInPixels) * n < X < (1 - (0.5 / TextureWidethInPixels)) * n
(0.5 / TextureHeightInPixels) * n < Y < (1 - (0.5 / TextureHeightInPixels)) * n
n &#8712; &#8484; \ 0
То в варе никаких швов не будет. Если они есть в War3 Model Editor-е, то этот баг исключительно на его совести.
__________________
PS: Гадский фильтр.
n є Z \ 0
Ууупс, лажаю. Поправочка:
(0.5 / TextureWidethInPixels) + n < X < (1 - (0.5 / TextureWidethInPixels)) + n
(0.5 / TextureHeightInPixels) + n < Y < (1 - (0.5 / TextureHeightInPixels)) + n
0
37
14 лет назад
0
Ты сейчас повыёживаться пришёл чтоли ? Я тестил может прежде чем писать?
Ответы (1)
0
37
1 неделю назад
0
Влепил бы себе варн за такие диалоги 🤦‍♂️
0
20
14 лет назад
0
Вуху, теперь я знаю что нужно делать если внезапно появятся швы! И при этом не учтено что тексутра может использоваться в материалах с анимацией положения оной, и дабы избежать смазывания придется использовать еще раз ту же текустуру что в принципе не возможно из-за корявого кода War3ME! Клево!
0
22
14 лет назад
0
ScorpioT1000, я просто говорю как оно есть с максимумом конкретики, не обобщая кучу мыслей непонятными терминами типа "заполнение внутренних пикселей" и "абсолютный переход".
И ты мне поверь, я тоже тестил.
0
25
13 лет назад
0
soooooooooooooooooooooo useless
0
23
1 неделю назад
Отредактирован Makeba
0
Приколы со швами в стандартных варкрафтовских моделях всплывают и в Maya, кстати

В самом варкрафте это видно при включённых Wrap U, Wrap V
Загруженные файлы
Ответы (2)
0
25
1 неделю назад
Отредактирован Jack-of-shadow
0
Makeba, в мдливсе обычно ювиха съезжает когда оптимайз нажимаешь потому что он флоаты обрезает походу после запятой и точка уезжает в край. Плюс поскольку паддинга на картах нет, разблюренный пиксель с обратной стороны лезет. А при переключении мип мап это еще сильнее вылезает.
0
23
1 неделю назад
0
Jack-of-shadow, про мдлвис ничего не могу сказать (скрин пеона сделан в ретере после включения Wrap Width/Wrap Height), но в развётке видно, что художник перебрал и слишком уверенно на край залез, так как небольшой сдвиг верхний вершин вниз убирает шов.
Да, шов приходит с другого края, ибо при включённом Wrap UV текстура обёртывается вокруг меша. А при отключённом шва не видно из-за того, что в варкрафте край текстуры растянётся, чтобы закрыть пустоту под развёрткой.
Вот в Maya постое отключение WrapUV не вылечивает шов полностью, так как там шов просто окажется прозрачным. Ну, по крайней мере, у меня так с пеоном вышло.
0
28
1 неделю назад
0
Полезная информация, спасибо.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.