Форум CG художников

Уроки => Другие 3D редакторы => UV Layout => Тема начата: Vesta от 19 Января 2014 в 23:00

Название: Основные функции инструментов UV Layout
Отправлено: Vesta от 19 Января 2014 в 23:00
Источник  (https://cgforum.ru/go.php?url=aHR0cDovL3d3dy5jaWVpLnJ1L2NvbnRlbnQvdXZsYXlvdXQtdG9vbHM=)
Автор: CIEI3
(Урок публикуется с письменного разрешения автора)

(http://s5.hostingkartinok.com/uploads/images/2014/01/c01bde4c75a1e4d38e063dd443024d9a.png)



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


Загрузка файла

Load options
 -- – импортируя объект в редактор, необходимо отметить, следует ли программе подгружать встроенные в файл уровни разбиения поверхности. Степень соответствия заданной текстуры самому низкому и самому высокому сабдиву будет значительно отличаться. Чтобы решить проблему растяжения полигонов, UVLayout предлагает воспользоваться инструментом просчета уровней, способствующим максимальной оптимизации проецирования.

Основной формат, с которым работает UVLayout - .obj (компания Wavefront). Файл является текстовым документом, в который заносится информация об объекте. Получить представление о структурировании файла можно, импортировав .obj в блокнот. Начертим в 3DS MAX квадрат и сохраним в указанном формате. Рассмотрим контент:

v -6.4096 0.0000 19.5050
v -6.4096 0.0000 3.7569
...
# 8 vertices

g Box01
f 1 2 3 4


# 6 polygons

В блоке представлено размещение вершин полигонального объекта. Так как используется правосторонняя координатная система и полигоны обращены к камере, то последовательность вершин выстраивается с точки с координатами -6.4096 0.0000 19.5050. После создания развертки в UVLayout данные обновятся:

v -2.9100 3.4996 7.2565
v 1.4644 1.9685 5.7254
...
# 26 vertices

vn -0.5774 -0.5774 -0.5773
vn 0.0000 -0.7071 -0.7071
...
# 26 vertex normals

vt 1.0419 0.0272 0.0000
vt 1.0408 0.2313 0.0000
...
# 39 texture coords

g headusOBJexport
s 1
f 1/1/1 2/2/2 3/3/3 4/4/4
f 5/5/5 6/6/6 3/3/3 2/2/2
...
# 24 polygons

Сохраняя текстурные координаты после завершения создания развертки, мы получим новый блок информации, который считывается другими программами трехмерной графики.

Vt – сохраняет текстурные координаты вершин.
Vp – записывает положение точки в пространстве.
Vn – задает вектор нормали.


Save -- – назначенные координаты прописываются в файле. Производите сохранение как можно чаще, программа в процессе работы нередко вылетает.
(http://s5.hostingkartinok.com/uploads/images/2014/01/0fe0f780bc866ea773dee89bf2921c8a.gif)

Навигация -- — передвижение по холсту, в трехмерном пространстве происходит с использованием кнопки Alt, как и в Autodesk Maya.

Display -- – программа UVLayout поддерживает три опции просмотра, переключение между которыми осуществляется во вкладке Display. Для быстрого перехода из одного пространства в другое используйте кнопки 1, 2, 3, соответствующие каждому окну. Первая опция просмотра UV позволяет наносить маркеры швов непосредственно на поверхность модели в трехмерной среде. Вы можете поворачивать объект, отмечать последовательность граней, что позволит быстрее принимать решение о разбиении полигонов на группы. Из трехмерной среды редактора шелл переносится на 2D-холст с координатами UV.

Ed -- – представляет двухмерную среду. Навигация в данном окне проста и сводится к перемещению по координатам U и V. Шеллы можно масштабировать, переносить, вращать. В редакторе становятся доступны дополнительные опции по растяжению групп полигонов и их преобразованию.

В окне 3D отображается модель в первоначальном виде. Рассматривая объект, вы можете получить общее представление о необходимости внесения дальнейших изменений.

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

Предустановочные текстуры.

В одной из папок библиотеки вы можете найти примеры предустановочных текстур. Они очень удобны для использования и благодаря свой структуре способны подчеркивать несоответствие развертки установленному участку поверхности. В окне 3D нажмите клавишу T, чтобы присвоить рисунок модели. Повторное нажатие изменит вид текстуры. Размер клетки можно варьировать, уменьшать и увеличивать разметки, нажимая — или +. Если вы хотите загрузить свою текстуру, откройте вкладку About UVLayout - Preferences – Map. Размеры карты, используемые в игровой индустрии, составляют 64, 128, 256, 512, 1024, 2048 px. Подготавливая текстуру для других целей, вы можете не ориентироваться на установленные стандарты и подогнать изображение под более удобный формат. Если у вас уже имеется готовый файл, созданный по развертке, то шеллы следует разместить в соответствии с положением заполненных областей. Сделайте полигоны чуть более прозрачными для точного передвижения групп (Display – Trace). Первый скролл отвечает за степень насыщенности фонового изображения, второй — за сами шеллы.

(http://s5.hostingkartinok.com/uploads/images/2014/01/9926fe23042c60b4a32f713fd6490dce.gif)

Разбиение поверхности

Разбиение поверхности модели на группы поможет значительно упростить процесс текстурирования. Вначале стоит определить положение основных частей и нанести маркеры швов на стыки областей. Для сохранения равномерного перехода текстуры разделенные лоскутки позже сшиваются и на полученный отрезок наносится рисунок. Чтобы отметить линию шва, зажмите C и переведите курсор на грань, передвигайте мышку, следуя заданной линии. Автоматически программа может увеличить область захвата и включить в набор все грани, следующие за первой выделенной до точки разветвления. Backspace снимает маркер шва. Пересекающиеся грани отмечаются красным, в то время как остальные принимают желтый цвет. Вырезать область, ограниченную замкнутой, петлеобразной последовательностью линий можно при нажатии кнопки Enter.

(http://s5.hostingkartinok.com/uploads/images/2014/01/56c0feeb9b8532a580a60fa38ee09fb9.gif)

Для сшивания разделенных частей выделите нужные грани курсором, нажмите W и передвиньте части ближе друг к другу.

Move/Scale/Rotate – перемещать шеллы можно с помощью кнопок Move/Scale/Rotate.

Удерживая пробел и зажимая ЛКМ, СКМ или ПКМ можно вращать, передвигать и масштабировать шелл на холсте. Кнопка L блокирует группу, предотвращая нежелательную трансформацию объекта.

Для того, чтобы отдельные части объекта приобретали повышенную детализацию по сравнению с остальными частями, попробуйте увеличить размер шелла и нанести на него более качественную текстуру. За счет изменения масштаба в графическом редакторе появится возможность дополнить рисунок. Увеличенный участок в UVLayout окрасится в синий цвет. Границу перехода между не измененным шеллом и масштабированным стоит сделать чуть более однородной, нажав кнопку Smooth.

(http://s3.hostingkartinok.com/uploads/images/2014/01/d40705bd2358cf9f51ce91ba282a8e27.gif)

Если шеллы на холсте пересекаются, что затрудняет работу над нужным участком, попробуйте скрыть часть сетки, выделив полигоны G. Кнопка H спрячет спрячет группы за пределами самого бокса. S – поменяет местами видимую и скрытую части.

Симметрия

UVLayout автоматически определяет симметричные группы полигонов. Данная функция поможет нам скомпоновать одинаковые части и быстрее создать идентичные разрезы. Нажмем Symmetry – Find, выделим грани, лежащие на оси симметрии. Дальнейшие преобразования частей окажут влияние на первую и вторую половины, однако, у пользователя останется возможность осуществить независимое трансформирование симметричных половинок. Последовательное расположение граней на линии стыка может быть нарушено, например, при добавлении пользователем треугольника. Такой участок необходимо привести к нужному виду, либо вырезать.

На готовой развертке определить симметричные части можно, выбрав ЛКМ первую грань, отметив СКМ вторую, нажав пробел. Обычно требуется, чтобы половинки стыковались по прямой линии, но если растяжение шелла слишком деформировало соединяющие грани, то стоит изменить преобразованную форму.
(http://s3.hostingkartinok.com/uploads/images/2014/01/3aa7087d8085967fe075fcd05147deb6.gif)

Копирование

Создавать для однотипных деталей идентичные развертки, повторяя раз за разом одни и те же действия, затруднительно. Гораздо проще скопировать уже имеющиеся шеллы и назначить их объектам. Выделив сетку, нажмем Copy, отметим грани первой и второй модели, соответствующие друг другу. В случае выбора стыков, расположенных в разных частях, шелл может изменить свое положение, произойдет вращение развертки. Нажмем пробел.

Объекты могут иметь структуру, лишь часть которой совпадает с исходником. В таком случае, выделяем одинаковые грани, жмем пробел, и программа подсвечивает зеленым соотносящиеся полигоны. Остальную часть поверхности отделяется и и нам остается только подготовить ее собственную развертку.

Если грань отмечена, а полигоны выделены, нажмите = и программа покажет одинаковые модели.

Маркированные полигоны

процесс обособления сегментов, на которые необходимо оказать целевое воздействие, осуществляется путем внесения маркированных полей. Кнопка G отмечает полигоны области, Shift+G снимает выделение.

Flattening – кнопка D переносит шелл на холст. Выбрав полигоны, мы нажимаем F, чтобы произвести автоматическую развертку региона. Алгоритм проецирования переводит искаженную часть поверхности к двухмерному виду. Для некоторых участков процесс оптимизации будет прост. Так, полигоны, лежащие в одной плоскости (например, одна из сторон сегментированного прямоугольника) сохранят форму, аналогичную исходнику. Для сферы перед растяжением важно распределить шеллы. В зависимости от вида текстуры будут нанесены маркеры швов (для глаза разделение будет следовать срединному сечению, для патчевого мяча – долям, для глобуса – боковым сегментам). Несоответствие масштабов при оптимизации подсвечивается красным и синим цветами (уменьшение/увеличение). Алгоритм измеряет при просчете силу натяжения вершин при каждой итерации. Отпуская клавишу F, вы прерываете процесс растяжения.

Scaling Brush – основная функция команды растяжения заключается в поиске оптимального соотношения между двухмерной разверткой и исходной трехмерной поверхностью. Неточности распределения веса вершин отмечаются красным и синим цветами. Исправить погрешности можно масштабирующей кистью, уменьшающей или, наоборот, увеличивающей плотность сетки. Кнопка 4 расширяет полигоны, 5 – сжимает, совместное нажатие 45 возвращает область к ее первоначальному виду. 6 – смягчает сетку, Smooth bound- направляет смягчение на границе.

(http://s3.hostingkartinok.com/uploads/images/2014/01/db3fcf95e6f207e09a069130d27742e9.gif)

Выравнивание – алгоритм растяжения зачастую значительно искажает сетку, что препятствует безошибочному нанесению текстуры. Вполне возможно, что обод цилиндра, рассеченный пополам по одной из граней, примет дугообразную форму на холсте и в случае, когда потребуется состыковать участки, в Photoshop придется потратить время на подгон рисунка. Выстраивать в линию вершины, чтобы привести шелл к прямоугольной форме, было бы слишком утомительно. Вместо поиска альтернативного решения стоит обратиться к одному из инструментов программы, отвечающему за внутреннее выравнивание сетки. Зажимая кнопку K, отметим искаженные грани, двойное нажатие захватит всю последовательность линий. Shift+K – отменит операцию. Вершинам, формирующим пересечение, также можно назначить К-маркеры, которые будут выделены черной точкой. Определив границы выпрямления, нажмем F. Кнопка I - предохраняет сетку от трансформации, подгоняет область к прямоугольной форме. Ctrl+K, I - удаляет все выделение. Повторное нажатие наоборот покрывает меш параллельными черными линиями.


Чтобы произвести выравнивание на выделенном участке, поставим метки на двух вершинах, находящихся на границах области, зажав S. Выберем одну из точек, лежащую в пределах сегмента – двойное S. Грани будут следовать прямой, проведенной от первой до последней вершины. Для удобства, при работе можно воспользоваться якорями (А).

(http://s3.hostingkartinok.com/uploads/images/2014/01/da970b3ec71b9cb05620dc92e1e7327f.gif)

ПЭК – развертка на холсте во многих случаях выполняет роль шаблона для нанесения фрагментов текстуры в графических редакторах. Границы шеллов обозначают участки заполнения. Оставшееся пространство чаще всего заливается черным цветом. Грамотное размещение частей позволит рационально использовать рабочую область текстуры. Во вкладке Pack вы найдете инструменты для размещения шеллов на UV-холсте. Кнопка ] создает пэк для групп шеллов, включая боксы. Добавление новых элементов происходит стандартным образом – нам нужно лишь перенести части в пределы рамки. Также есть возможность размещать готовые боксы, } – фиксирует позицию в блоке. Опция Bleed вносит пороговое значение расстояния между отдельными шеллами. Управлять положением разверток внутри созданного бокса можно, передвигая один из его углов. \ - осуществляет поворот, Tile- увеличивает количество квадратов поля, по которым распределяется развертка. Статистика заполнения области приводится в процентном соотношении. Чем выше показатель, тем удачнее выстроен контент . Программа кроме того способна самостоятельно оптимизировать развертку, предлагая наиболее удачные варианты расположения фрагментов (кнопка Shot tile coverage). Нажмите Rotate для запуска процедуры с активизацией поворота частей.

Stack and pack – идентичные шеллы можно расположить один поверх другого для экономии пространства текстуры. Кнопки L, B управляют симметричными фрагментами, стрелка влево отображает зеркальную часть. Чтобы сохранить текущее положение, шеллы заносят в новый бокс и, заблокировав их, переходят к общей оптимизации – Pack all.

Overlap
– опция подсвечивает перекрывающиеся шеллы красным цветом. Стрелочки справа от кнопки осуществляют перемещение между данными группами. Часть перекрытий удается убрать посредством дополнительного растяжения, самым простым методом корректировки будет передвижение вершин. Наложение в прорезях и отверстиях расправляется Shift+T.
(http://s5.hostingkartinok.com/uploads/images/2014/01/04b6716b2cef34476e4649b64b138a57.gif)

(http://s6.hostingkartinok.com/uploads/images/2014/01/b90541e03782732d3ca35217cc8b3f64.gif)


Источник  (https://cgforum.ru/go.php?url=aHR0cDovL3d3dy5jaWVpLnJ1L2NvbnRlbnQvdXZsYXlvdXQtdG9vbHM=)
Автор: CIEI3
TinyPortal 1.6.6 © 2005-2020