Как убрать швы на текстуре в 3ds max

Обновлено: 05.07.2024

Модели 3D, Poser, 3DsMax, Archicad, Artcam, Zbrush

ДНЕВНИК ПРОРОКА МАНЬКИНА

Создание текстуры и текстурирование персонажа монстра в 3ds max

Применение текстуры к 3d-модели

А сейчас давайте применим текстуру к нашей 3d-модели. Это можно было сделать и в Photoshop, но я воспользуюсь Viewport Canvas:

1. Выделите модель монстра.
2. Откройте Viewport Canvas (Tools > Viewport Canvas. ).
3. Активируйте любой инструмент для пэйнтинга (просто чтобы активировать режим пэйнтинга) и откройте диалоговое окно для работы со слоями (layers).
4. Создайте и выделите новый слой.
5. Примените созданную нами текстуру к новому слою (в окне Layers: File > Load Bitmap Into Current Layer. ).
6. Измените режим смешивания нового слоя на Overlay.
7. Установите прозрачность (opacity) нового слоя на 35%.


Совет: Если текстура отображается в низком разрешении, перейдите в настройки драйвера отображения и установите там максимальное разрешение (Customize > Preferences. > Viewports > Configure Driver. > Appearance Preferences > Download Texture Size > Match Bitmap Size as Closely as Possible).

9. Удаление текстурных швов в 3ds max

Теперь монстр приобрёл симпатичную окраску, но, к несчастью, стали отчётливо видны швы на текстуре. Далее мы сделаем нечто, чтобы было бы крайне сложно сделать в Photoshop, но довольно просто в 3d. Мы воспользуемся инструментом Clone для зарисовки швов:

1. Активируйте инструмент Clone.
2. Разверните модель так, чтобы можно было видеть шов.
3. Выберите подходящий размер кисти (Рекомендую использовать большую кисть). Совет: для задания радиуса кисти существует комбинация клавиш Ctrl + Shift + движение мыши с удерживаемой левой кнопкой.
4. Установите точку выборки, расположив курсор на желаемой области модели монстра и кликнув мышью с клавишей Alt.
5. Проведите кистью в районе шва.
6. Используйте данный метод для удаления всех швов. Придётся несколько раз устанавливать точку выборки, пока не будет готово. Обычно этот процесс требует некоторого времени. Также попробуйте поэкспериментировать с жёсткостью кисти.

10. Детализация текстуры 3d-модели

Давайте попробуем создать больше детализации, добавив ещё одну текстуру в стек слоёв (как и в шаге 6):

1. Загрузите файл concrete-texture-high-resolution.rar [861,17 Kb] (cкачиваний: 26) .
2. Создайте и выберите новый слой (убедитесь, что новый слой находится наверху стека. Порядок слоёв можно изменить перетаскиванием мышью).
3. Примените текстуру в новом слою (В Layers Dialog: File > Load Bitmap Into Current Layer. )
4. С помощью инструмента Clone уберите швы.
5. Поменяйте режим смешивания нового слоя на Overlay.
6. Измените прозрачность (opacity) нового слоя на 30%

Теперь у нас появилось больше мелких деталей на текстуре. Как видите, это очень быстрый способ добавления рандомных деталей к поверхности. Можно считать, что с диффузной картой мы закончили. Далее, мы также создадим и применим текстурные карты для каналов Bump и Reflection.

11. Применение карты Reflection

Применим к материалу цветовую карту отражений:

1. Находясь во Viewport Canvas, отключите инструменты рисования, которые вы могли включить до того (это делается для отключения режима пэйнтинга).
2. Далее, во Viewport Canvas перейдите в свиток Options и измените Paint On: c Diffuse Color Map на Reflection Color Map. Должно появиться новое окно.
3. Установите размер текстурной карты на 2000х2000.
4. Выберите папку для вашего файла, присвойте ему имя, и в качестве файлового формата выберите PNG (Как уже было сказано, советую выбрать RGB 24 bit, поскольку мы не нуждаемся в альфа-канале).
5. Для сохранения файла кликните ОК.

12. Рисование на текстурной карте отражений

Теперь в цветовом канале Reflection находится пустая текстура. Здесь места, окрашенные в чёрный, будут иметь матовое покрытие, а там, где присутствует белый цвет, будут видны отражения и блеск. Нарисуем же нашему монстру слюни:

1. Активируйте инструмент Paint (кисть).
2. Выберите белый цвет.
3. Выберите достаточно большой размер радиуса кисти (Ctrl + Shift + правая кнопка мыши с движением. Подходящий радиус зависит от уровня зума).
4. Удостоверьтесь, что жёсткость (hardness) кисти установлена в 0.
5. Откройте окно Layers Dialog
6. Создайте и выделите новый слой.
7. Нарисуйте вокруг рта слюни.
8. Активируйте инструмент Fill.
9. Выберите черный цвет.
10. Выберите слой Background.
11. Кликните по модели для окраски её в чёрный цвет. (Имейте в виду, что в режиме Paint вы видите только краску. Эффект отражения будет виден только на рендеринге).
12. Выключите инструмент Fill (для выключения режима Paint). Появится новое окно. Выберите Save as PSD and Replace texture in material. Теперь файл сохранён как PSD и применён к цветовому каналу отражений в материале.

13. Карты Reflection Glossiness и Bump

Как насчёт того, чтобы сделать текстуру более интересной? Для этого давайте добавим карту Reflection Glossiness и карту Bump:

1. Откройте редактор материалов (Нажмите клавишу М).
2. Перейдите в свиток General Maps и перетащите созданную нами текстуру из Reflection Color в Reflection Glossiness. При вопросе ответьте Instance.
3. Перейдите в свиток Special Purpose Maps и установите значение параметра Bump на 0,05.
4. Теперь мы создадим текстуру Bump в Photoshop. Перейдите в Фотошоп и откройте в нём ранее созданную нами текстуру (PSD).
5. Сделайте копию диффузной текстуры (Image > Duplicate. ).
6. Закройте оригинал изображения, будем работать с копией. Удалите все слои кроме созданного нами на этапах 7-8. Измените режим смешивания слоя с Overlay на Normal, а Opacity установите на 100. Сохраните его как файл PNG.
7. Вернитесь в 3ds max и добавьте новый файл в канал Bump (Maps > Standart > Bitmap > bump.jpg).

Всё, материал готов, далее займёмся освещением и визуализацией сцены.

14. Освещение сцены 3ds max и настройка рендера

Для освещения монстра мы применим простую трёхточечную светопостановку. Поскольку это, по существу, урок по текстурированию в 3ds max, я не буду подробно описывать процесс постановки света, зато я дам вам точные настройки, которые вы можете использовать:

1. Ключевой свет: mental ray area spot (панель Create > Lights > Standart > mr Area Spot).
Intensity/Color/Attenuation: Multiplier = 1,5
Area Light Parameters: Height = 200
Area Light Parameters: Width = 200

2. Задний свет: mental ray Area Spot (панель Create > Lights > Standart > mr Area Spot).
Intensity/Color/Attenuation: Multiplier = 1,4
Area Light Parameters: Height = 200
Area Light Parameters: Width = 200

3. Заполняющий свет: Skylight (панель Create > Lights > Standart > Skylight).
Multiplier = 0,4
Sky Color = чистый белый

4. Подсветка слюней: Omni (панель Create > Lights > Standart > Omni).
Advanced Effects: Diffuse = Off


Теперь давайте настроим сэмплинг для безупречного рендера. Перейдите в настройки рендеринга и увеличьте качество антиалиасинга путём подъёма значений сэмплинга mental ray (Rendering > Render Setup. > Renderer > Sampling Quality):

* Samples per Pixel
---* Minimum: 4
---* Maximum: 64

* Filter
---* Type: Mitchell (В большинстве случаев фильтр Mitchell показывает наилучшие результаты).

Наконец, измените цвет бэкграунда на чёрный (Rendering > Environment. > Common Parameters > Background > Color) и жмите заветную кнопку Render. Внизу показано изображение на финальном рендеринге. Я также применил небольшую цветокоррекцию в Фотошопе:

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

Все что тут предлагали это здорово и замечательно, но к задаче мало применимо, то есть мало применимо при разумной трате времени на задачу.

Если модель симметричная, то разворачиваете половину шара и отзеркаливаете геометрию вместе с UVW - в итоге никаких швов не будет.

Швов может быть и не будет, но получится зеркальная текстура

Мы отзеркаливаем часть геометрии с текстурными координатами, и они получаются отзеркаленными - вот неожиданность!

Все что тут предлагали это здорово и замечательно, но к задаче мало применимо, то есть мало применимо при разумной трате времени на задачу.

Зато сколько человек узнал нового.

Это да, не поспоришь.

Есть еще один способ в 3ds max это при помощи модификатора Vertex Paint, только сетка должна быть плотней так как рисует по вертексам

79803615bfbf21c76f3f839865ac2241.jpg

5b20167a46af8ee5bd6ed2555d97c3a7.jpg

На самом деле много материала дали. Жалко сейчас не могу опробовать. На работе ) спасибо Все что тут предлагали это здорово и замечательно, но к задаче мало применимо, то есть мало применимо при разумной трате времени на задачу.

Ну тут как бы предлагали не только к данной задачи, а как избавится от швов вообще, у вас есть свой метод ? Предлагайте

Ну тут как бы предлагали не только к данной задачи, а как избавится от швов вообще, у вас есть свой метод ? Предлагайте

У автора в посте я увидел просьбу помочь с решением конкретной задачи.

Её решение это смена маппинга. Тут не нужно выдумывать велосипед.

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

Просто не хотелось бы чтобы человек начал решать простые задачи сложно.

Просто не хотелось бы чтобы человек начал решать простые задачи сложно.

Не сложно, а по возможности правильно

Я не вижу ничего правильного в использовании предложенных способов к задаче автора.

МОЕ мнение, что шестнадцать способов максирования шва, или использования блендов, вертекс пейнта проистекают от неверного расположения шва в маппинге. МНЕ кажется, проще его расположить в другом месте.

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

Как иллюстрация ВОЗМОЖНЫХ подходов к маппингу все что предлагалось в теме имеет право на жизнь, и будет работать в той или иной ситуации.

МОЕ мнение, что шестнадцать способов максирования шва, или использования блендов, вертекс пейнта проистекают от неверного расположения шва в маппинге. МНЕ кажется, проще его расположить в другом месте.

В каком, на сфере ?

А у автора однотипная по составу поверхность, на которой шва не может быть в принципе.

А он есть . По этому автор и обратился за советом

Доброго времени суток гуру 3d. Начал разбираться с uv-развёртками и не могу понять как избавиться от стыков текстуры когда она делается в фотошопе (отрисовывается в ручную). Вот допустим у меня есть плафон настольной лампы есть картинка с рисунком хромированной затёртой поверхности. Я её накладываю сверху на куски развёртки в фотошоп и получается что видно швы. Когда делаешь бесшовную текстуру например, то используешь фильтр "сдвиг" а далее затираешь швы штампом например. Думаю что тут принцип такой же. Ниже скрины всего того что я тут написал) может я изначально неправильно разрезал модель? или ещё что? Буду благодарен за любую помощь.


Проблема видна на скриншоте:

Как избавляться от таких швов? Неужели редактировать текстуры вручную в Фотошопе? Может, есть какой-то простой метод?

  • 571 просмотр
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Moderator

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

1. Нажимаете Alt+Shift+M, чтобы выбрать инструмент Surfaces selection tool.
2. Выделяете Skin во вкладке Surfaces
3. Применяете к фигуре скин кожи от любой подходящей модели.

Спасибо за ответ. Но я начинающий, не могли бы вы подробнее рассказать со второго шага?

Зависит от того какаю фигуру используете и в какой программе. Если это genenesis 1,2,3 то просто выделяете персонаж двумя кликами и в своей библиотеке находите папку people/genesis 3/characters/ в общем откуда вы модель добавляли в сцену, в ней выбираете модель с понравившимся именем или формами, из тех что загружали в папку контента ранее, нажимаете на нее, выбираете materials/ Iray и ниже будет картинка c силуэтом этой модели с надписью Iray или iray skin или Iray texture, кликаете на нее мышкой два раза.

Все, понял: вы советуете просто наложить на персонажа скин от другой модели и не париться:) Я думал, совет сложнее. С другим скином не получается, так как эта модель со специальным анимированным хвостом, а под него идет отдельная текстура.

Но выход я, кажется, нашел: к персонажу идут 2 типа текстур: 3Delight и Iray. У текстур Iray что-то с шейдерами - руки действительно не так отражают свет. У 3Delight с руками все в порядке:

Правда, я не знаю, насколько правильно рендерить персонажа с текстурами, созданными под 3Delight, если рендер - Iray? Доктор, это нормально?

Я бы не стал рендерить в Iray с текстурами 3dlight. Лучше тогда и рендерить в 3dlight или найти нормальную текстуру, даже если хвост будет отличаться думаю ничего страшного или попробовать на хвост наложить текстуру с другой части тела. В общем надо знать что именно ипользуете, какой персонаж и какой хвост, если эти материалы под iray то все должно работать нормально, видимо вы сами что-то намудрили с руками. Удалите персонажа и добавьте заново.
Текстуры iray и 3dlight это две больших разницы. Материалы iray заточены именно под Iray рендер и естественно глупо нацепить текстуры 3dlight и ждать хорошего результата.

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

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

Hard Edge — жесткая грань между двумя плоскостями. В 3ds Max используется подход Smoothing Groups. Для создания жесткого эджа достаточно назначить на плоскости разные группы сглаживания.

Soft edge — гладкая грань. Чтобы создать ее в 3ds Max, на плоскости нужно назначить одинаковые группы сглаживания.

Чтобы грани запеклись как надо, пользуйся правилом «Hard edge — UV seam»: для каждой жесткой грани лоуполи модели нужно создавать шов на UV. Иначе детали и грани запекутся некорректно.

На выделенной грани расположен hard edge, но не сделан разрез на UV. В результате — артефакт. На выделенной грани расположен hard edge и сделан разрез на UV — угол запекся корректно.

Важно! Это не значит, что UV швы нельзя делать и в других местах. Технически, их можно расположить где угодно, лишь бы на финальном ассете они не были заметны.

На маленьком цилиндре правило «Hard edge — UV seam» нарушено, поэтому там появился артефакт. На большом цилиндре все правильно.

Градиенты на normal map возникают, потому что карта нормалей пытается выровнять градиент на шейдинге объекта. Простыми словами, если на Low Poly во вьюпорте видно градиенты, а на High Poly их нет — они появятся на карте нормалей.

Карта нормалей таким образом пытается привести вид Low poly объекта к виду High poly.

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

Это может вызвать сложности, если для модели нужно создавать лоды (LODs — Level of details, несколько вариаций одной и той же модели с постепенным уменьшением детализации и снижением количества треугольников). В таком случае, после удаления некоторых граней, градиент может появиться на LOD01 и создать визуальные артефакты.

Потяжки можно отнести к градиентам, но разберемся с ними отдельно.

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

Зеленым выделены места, где длинные треугольники создают потяжки.

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

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

При запекании карты нормалей, вся информация о деталях на поверхности и сглаженности граней полностью переносится с High poly модели. Если угол High poly в пространстве расположен не в том же месте, где и у Low poly, — на карте нормалей появится пробел.

Если что-то подобное появилось на твоем объекте — в первую очередь проверяй соответствие хайполи и лоуполи. Иногда хайполи перед сглаживанием нужно немного сдвинуть / увеличить относительно лоуполи, чтобы после сабдивайда / турбосмуза они оказались в одинаковых координатах. Это костыль, но в некоторых ситуациях он может помочь.

Проблема с выбором количества сечений на цилиндрах косвенно относится к теме сопоставления хайполи и лоуполи моделей. Если у Low poly слишком мало сечений, то после запекания появятся пробелы на верхней и нижней плоскости. Причина та же — несоответствие Low и High poly версий объекта.

Сравнение запекания цилиндров с разным количеством сечений.

Летающая геометрия (Float geometry) — это техника создания «парящих» над поверхностью элементов хайполи.

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

В настройках запекания всегда можно найти функцию уравнивания нормалей. Она усредняет нормали для запекания — так можно сделать углы более плавными.

Но есть у этой настройки и обратная сторона: из-за выравнивания нормалей на углах, детали на ровных поверхностях могут начать «плыть». И чем ближе деталь к углу — тем сильнее.

В разных программах с этим эффектом можно бороться по разному. Мы поговорим подробнее на эту тему в следующей статье цикла.

Ложная перспектива, или Fake perspective, используется художниками при создании дополнительных элементов на high poly — деталей, которые не поддерживаются сеткой Low poly объекта. Например, любая летающая геометрия.

Суть ложной перспективы в том, чтобы немного сужать вершины элементов по отношению к их основе. Основа — место, в котором элемент «вшивается» в тело объекта.

Это нужно, чтобы элемент было видно на карте нормалей после запекания. Если не следовать этому правилу, геометрия может полностью или частично скрываться на normal map.

При работе с хайполи геометрий нужно учитывать, в каком разрешении будет запекаться финальная карта нормалей. Таким образом ты сможешь заранее продумать толщину фасок на High poly и тебе не придется создавать лишние детали.

Чем меньше разрешение, тем хуже видно маленькие элементы и тонкие фаски.

Если на твоем проекте используется низкий тексель, старайся делать фаски толще, а запекаемые элементы — больше. Таким образом, они не будут теряться после запекания.

(Texel density — количество пикселей на единицу площади объекта. Texel density 1024px/m означает, что на один квадратный метр объекта должно выделяться 1024 пикселя)

Если в финальной версии объекта планируется запечь отверстия, но нет возможности промоделировать их геометрией — обязательно зашивай все эти дыры на High poly. Иначе на карте нормалей появятся странные артефакты.

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

«Чем плотнее сетка — тем лучше результат на карте нормалей» — хороший аргумент, но до определенного момента.

Если взять текстуру с разрешением 2048х2048 и развертку, которая занимает 100% UV пространства — максимальное количество доступных нам пикселей равняется 4 194 304. И это фантастическая ситуация. В реальной жизни развертка может быть заполнена на 70% плюс оверлапы и паддинг. В результате эта цифра уменьшается на 30-40% процентов.

Так как в один пиксель можно запечь информацию об одной плоскости — нет никакого смысла создавать хайполи модели на 20-30 млн треугольников.

Можно возразить: «Но ведь ничего плохого в большом количестве полигонов нет. Лучше перестраховаться и сделать чуть больше нужного». Отчасти это верно, но такой подход создаст две проблемы.

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

Во-вторых, тяжелая геометрия тормозит работу программ и экспорт/импорт геометрии из софта в софт.

Вывод: хайполи должна выглядеть красиво и сглажено, но не стоит перегружать геометрию лишними треугольниками.

Количество доступных пикселей, в зависимости от разрешения текстуры

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

В следующей статье подойдем к вопросу запекания normal map с практической стороны и поговорим о кнопках в разных программах. Stay tuned!

Читайте также: