Войти
АртФорумМоделирование

Вопросы по UV-развёртке в Blender

Страницы: 1 2 3 Следующая »
#0
(Правка: 21:46) 21:45, 24 июня 2020

Всем привет!

Есть вот такая геометрия:

geom | Вопросы по UV-развёртке в Blender

Нужно положить на неё одну текстуру так, чтобы внутренние изгибы дырки затекстурировались
бесшовно одной текстурой.

Помечаю как швы вот эти рёбра (помечены жёлтым выделением):

sel_na | Вопросы по UV-развёртке в Blender

В итоге, при построении развёртки выходят неточности, и текстура слева и внизу от отверстия ложится криво:

tex_wrap_bug | Вопросы по UV-развёртке в Blender

Даже если поправить в развёртке вертексы, так чтоб было всё ровно, всё равно текстура в этих местах ложится криво.. UV-развёртка при этом выглядит так:

uv_map | Вопросы по UV-развёртке в Blender

Если же выбрать в качестве швов больше рёбер - вот так:

sel_all | Вопросы по UV-развёртке в Blender

То тогда эти полигоны в развёртке создаются в отдельном месте, выше основной геометрии. При этом они как бы не связаны с основной геометрией. И если взять их и руками поставить (спозиционировать) куда нужно (связать с основной геометрией) - то получается то, что нужно - идеальное бесшовное ровное наложение без артефактов.

Вопрос: почему при первом варианте выбора швов не получается правильного наложения текстуры?
Можно конечно делать по второму варианту, но если всё-таки не хочется руками двигать полигоны на UV-разметке, а хочется чтоб автоматически ставились как надо, как быть?


#1
22:23, 24 июня 2020

Чекбокс Fill Hole сними при анврапинге.

+ Показать

#2
8:54, 25 июня 2020

marggob
А это в какой версии Blender? Я работаю в 2.79b, там нет таких опций при анврапинге.

#3
9:38, 25 июня 2020

DEN 3D скрин с кнопками из 2.80+ версии.
попробуй просто проекцию из вида.
blend | Вопросы по UV-развёртке в Blender

#4
11:39, 25 июня 2020

refroqus
Попробовал. В принципе, получилось. И в данном случае наложение выглядит неплохо:

2 | Вопросы по UV-развёртке в Blender

Но сразу появилось несколько вопросов:

1.) В данном способе наложения выходит так, что на внутренних стенках отверстия текстура накладывается так, что при уходе вдаль дублируется один и тот же тексель текстуры. А если, например, у меня стенки отверстия будут глубже и мне нужно, чтобы там была текстура кирпичной кладки например, тогда данный способ уже не подойдёт... Проблема видна вот тут на картинке, например:

5 | Вопросы по UV-развёртке в Blender

2.) Если мне нужно развернуть не только одну стену, а сразу все 4 стены комнаты, как тогда быть? Таким методом можно поочерёдно развернуть только каждую стену, т.к. у каждой будет своё направление для камеры. Случай как вот тут:

4 | Вопросы по UV-развёртке в Blender

3.) Можно ли разворачивать группы полигонов в пределах одного объекта по очереди в пределах одной развёртки? Т.е. например, я выделил объект, перешёл в Edit Mode, и выбрал там не все полигоны, а вначале, например, левую половину - её развернул, а потом в эту же развёртку хочу добавить полигоны правой половины.. Можно ли так делать?

#5
(Правка: 12:05) 12:04, 25 июня 2020

Также есть ещё второй вопрос. Чтобы не плодить темы, решил постить в этой.

Есть вот такая изогнутая геометрия по периметру комнаты:

44 | Вопросы по UV-развёртке в Blender

Вид сверху:

11 | Вопросы по UV-развёртке в Blender

Нужно на неё равномерно без швов положить вот такую текстуру, на всю длину:

333 | Вопросы по UV-развёртке в Blender

Если выбрать все полигоны и нажать Unwrap, получается такая развёртка:

66 | Вопросы по UV-развёртке в Blender

Текстура при такой развёртке ложится криво, она как бы развёрнута на угол:

22 | Вопросы по UV-развёртке в Blender

Исходя из своих соображений, я выравнял все полигоны на UV-развёртке, чтобы они лежали ровно, в одну строку, чтобы наложение текстуры шло последовательно и ровно. Также я отмасштабировал всю развёртку, чтобы занимала всю площадь текстуры. Вышла такая развёртка:

55 | Вопросы по UV-развёртке в Blender

Текстура стала накладываться вот так:

33 | Вопросы по UV-развёртке в Blender

Уже лучше, но всё-таки есть искажения на отдельных блоках.

Вопросы:

1.) Как для этого случая сделать идеальное наложение текстуры?
2.) Почему блендер на развёртке как-то странно выгибает геометрию полукругом?
3.) Обратил внимание, что иногда на развёртке могут быть две вершины, при этом видно, что они расположены на расстоянии друг от друга по оси X, но при этом координата X в свойствах у них одинаковая.. Как это понимать? Или бывает, что у вершины, которая левее, в свойствах координата X оказывается больше, чем у той, что правее.. Как понимать такие противоречия?

Благодарю за внимание и ответы.

#6
12:35, 25 июня 2020

а.  ну рамку вутри надо развертку делать отдельно, обычным анврапом.  просто после разметки швов собирай  все фейсы находящиеся в одной плоскости на одно изображение.
как вариант - заюзай DeleD,  он гибридный. в нем есть абсолютно банальный инструментарий для тайлового мапинга, как в радианте и ему подобных. уже существующий увмап он подхватит без проблем, а вот такие мелкие элементы ты сможешь там отрегулировать прямо на лету (разумеется прочитав мануал), хотя если ты ранее сталкивался с созданием уровней для игр типа квейка3, то проблем не будет вовсе.

1.) Как для этого случая сделать идеальное наложение текстуры?

тайловый мапинг. для каждого повторяющегося по картинке полигона использовать одну и ту же.
2.) Почему блендер на развёртке как-то странно выгибает геометрию полукругом?

повнимательнее посмотри в опциях анврапа, там есть несколько параметров, которые влияют на автоматический анврап, как вариант - поэкспериментируй с разметкой швов, по которым делается развертка.
3.) Обратил внимание, что иногда на развёртке могут быть две вершины, при этом видно, что они расположены на расстоянии друг от друга по оси X, но при этом координата X в свойствах у них одинаковая.. Как это понимать? Или бывает, что у вершины, которая левее, в свойствах координата X оказывается больше, чем у той, что правее.. Как понимать такие противоречия?

вероятнее всего проглядел и не закольцевал seam правильно, или у тебя там на самом деле возможно дублированный полигон, сделанный случайно (так бывает), лечится удалением лишних вершин (там же где merge, можно задать опцию минимального расстояния,  когда блендер удаляет лишние или парные вершины)

#7
13:20, 25 июня 2020

Еще способ - выделяем 1 полигон, нажимаем анврап (если надо выравниваем его на ув карте), потом выделяем все полики и в меню анврап выбираем пункт follow active quads.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#8
(Правка: 13:36) 13:34, 25 июня 2020

есть еще классный метод, но требующий терпения ). это если использовать анврап на модели, потом по чекеру сделанному из анврапа

(или смарт ув, хотя там искажения возможны именно потому что  блендер будет пытаться заполнить пространсво рациональнее, настройки вря дли помогут)
используя инструментарий тайлового мапинга подгонять текстуру уже попадая нарисованными в развертке гранями в грани собственно меша. ну а уже потом, когда всё-всё подогнано - уже и рисовать текстуру по развертке). правда такая методика предполагает обязательно проекцию из вида, чтобы все грани гарантированно совпадали по размерам и пропорциям к соответсвующим полигонам.

с другой стороны - при такой методике можно смело использовать clone tool любого растрового редактора

#9
(Правка: 14:22) 14:19, 25 июня 2020

DEN 3D
> А это в какой версии Blender? Я работаю в 2.79b, там нет таких опций при
> анврапинге.
Оно там есть с версии 2.4x, если память не отказывает. На левой панели 3d вида внизу находится панель настроек текущего инструмента. Смотрите на неё ПОСЛЕ того, как нажмёте "развернуть". Ну, или нажмите F6 - оно продублируется прямо поверх основного окна.

#10
16:53, 25 июня 2020

marggob
Да, действительно, есть. Проверил - да, убрал эту галочку "Fill Holes" и для этого случая со стенками дырки всё правильно развернулось. А в чём вообще смысл этого "Fill Holes"?

refroqus
> тайловый мапинг. для каждого повторяющегося по картинке полигона использовать
> одну и ту же.

В моём случае нужно одну текстуру длинную равномерно растянуть по всем полигонам.

> повнимательнее посмотри в опциях анврапа, там есть несколько параметров,
> которые влияют на автоматический анврап, как вариант - поэкспериментируй с
> разметкой швов, по которым делается развертка.

Поизучал, пробовал менять, но блин, один фиг - всё равно не выходит ровно затекстурить этот изогнутый меш.. Как я только уже не пробовал.. И вручную пробовал вертексы выравнивать, и.т.д - всё равно криво выходит... Швы в случае этого меша по идее не нужны, т.к. он не замкнутый.. Он разрывается, где проход для двери в комнате..

refroqus
> вероятнее всего проглядел и не закольцевал seam правильно, или у тебя там на
> самом деле возможно дублированный полигон, сделанный случайно (так бывает),
> лечится удалением лишних вершин (там же где merge, можно задать опцию
> минимального расстояния, когда блендер удаляет лишние или парные вершины)

Дублей вершин точно нет.. Вот например, если развернуть несколько полигонов, а потом после этого развернуть несколько соседних, то на развёртке эти группы полигонов будут в разных местах, и при этом у них будут как бы общие верщины.. Т.е. я выделяю одну вершину, а редактор выделяет автоматом вторую и показывает, что у них одинаковые координаты x/y.. Но что самое интересное, он хоть и показывает, что координаты одинаковые, а реально, текстура нефига не стыкуется в этих местах.. Вот этот факт вообще просто взрывает мой мозг.. Не могу понять логики.. Ниже скрин:

999 | Вопросы по UV-развёртке в Blender

Вот как это понимать? Получается, координаты в свойствах UV Vertex одни, а визуально на сетке мы видим, что вершины в разных местах..

#11
18:20, 25 июня 2020

В общем, я тут осознал, что задача, которую я пытаюсь решить, не выполнима. Потому что
у меня в геометрии есть полигоны в виде трапеций и на них текстура будет стягиваться. Если даже пытаться вручную в UV-развёртке выравнять вертексы, то выходит, что на угловых полигонах выравнивается текстура, но зато ползёт на соседних.. А так как это угловые бордюры, замкнутые по периметру - то растяжение неизбежно.. Это как текстурирование сферы, ближе к полюсам тоже идёт растяжение текстуры.. Скрин:

uuu | Вопросы по UV-развёртке в Blender

Чисто дизайнерское решение: наложить на этот бордюр текстуру чисто с продольными элементами.. Т.е. убрать эти прямоугольные блоки - тогда будет выглядеть норм..

#12
18:24, 25 июня 2020

deled (delgine) к примеру деформирует квадратную текстуру в трапецию, (fit) если полигон трапециевидный,  соответсвенно сжав тексели на меньшей стороне)

#13
18:57, 25 июня 2020

refroqus
> deled (delgine) к примеру деформирует квадратную текстуру в трапецию, (fit)
> если полигон трапециевидный, соответсвенно сжав тексели на меньшей стороне)

Т.е. в итоге получается уже несколько текстур для разных полигонов?
прикольно, но памяти много все эти текстуры будут жрать)

#14
19:01, 25 июня 2020

Посмотрел ещё несколько уроков по разворачиванию в 3DS Max, там на тот случай, когда после авто-развёртки полигоны как-то хитро завернулись, используют какой-то "Relax" и что-то ещё (встроенный функционал), который позволяет автоматически разогнуть развёртку, сделав её ровной.. В Blender наверно такого нет и поэтому только вручную делать..)

Страницы: 1 2 3 Следующая »
АртФорумМоделирование