3d форум по Blender

Blender => Материалы и текстурирование => Тема начата: ShadowFirst от 17 Март 2017, 12:30:03

Название: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 12:30:03
Приветствую гуру блендера!
Прошу помощи как лучше сделать
1. Создаю персонажа (воин в доспехах) нарисовал хай поли модель скульптингом - это не проблема
2. Делаю ретопологию, но вот тут НО... делаю каждый элемент доспеха отдельным мешем например паножи, торс, ботинки, перчи и т.д.

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

И еще вопрос также связан с первым
в элементах доспеха присутствует кольчуга которую конечно я не стал рисовать скульптингом
и есть идея получить развертку карты нормалей для этого элемента исправить ее другой картой с рельефом кольчуги как лучше это сделать?

Спасибо!
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: sungreen от 17 Март 2017, 13:27:51
... на скидку пришло в голову дополнение TextureAtlas https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/UV/TextureAtlas ...
... но не совсем уверен в результате, посмотрю в выходные более подробно суть вопросов ...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 14:36:20
Не обязательно решение каким его вижу я может есть вариант получше?
Есть идеи?

ту sungreen Спасибо за ссылочку посмотрю, если найду решение отпишусь

Дополнено: Очень интересный плагин делает практически то что нужно пока не пробовал сам но по видео уже понятен принцип

теперь бы решить задачку с объединением нескольких карт нормалей
пока вижу решение в применении данного плагина для получения одной UV а затем запечь их по цельному объекту с единой UV (Но это не объединение готовых)
либо экспортировать сетку UV (например в гимп) и ручками подложить карты нормалей под общую развертку :(  (не оч крутой вариант долго и нудно)
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 18:06:21
Всё это делается относительно просто, объединением в один объект, созданием дополнительной развертки, приведением всех ранее созданных кусков развёрток к правильному масштабу относительно друг-друга {Ctrl+A} и упаковыванием в область развёртки {Ctrl+P}. Далее добавляем новую картинку и запекаем старые текстуры в эту. Потом, когда сформирован единый материал... куски модели можно снова сделать отдельными объектами, если необходимо.
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 19:29:30
ту Samovar

такой вариант не катит так как теряется смысл делать все отдельными мешами
Мне проще обрабатывать каждый элемент отдельно и необходимо для кастомизации перса, но для игрового движка
в виду экономии вызовов прорисовки(drawcall) очень желательно чтобы на персонаже был один материал
предложенный вариант от sungreen вполне подходит для меня есть только проблема с картами нормалей

к стати как раз из-за карт нормалей мне удобнее работать с каждым элементом отдельно я их часто правлю
в сторонних редакторах для имитации поверхностей не рисуя их и иногда для этого выравниваю развертки FollowActivQuads
всю развертку я так развернуть не могу а часть вполне
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 19:41:53
Не пойму, почему не подходит? Ты же ничего заново не переразворачиваешь, а просто упаковываешь все ранее выполненные развёртки в оду текстуру, а потом запекаешь туда и нормали со старых разверток и других материалов, если нужно. Потом, полюбому, надо будет один финальный материал присвоить всем граням. А объект разделить на части в отдельные объекты не такая уж большая проблема - клавиша {P}.
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 19:54:50
Samovar количество разверток не убавиться а останется также много на каждый кусок объекта,
а способом от sungreen все срабатывает как надо (становиться одна развертка которая сохраняет масштаб и положение оригинальных)
я перемещаю развертки как мне надо и запекаю текстуры в принципе твоим методом, только развертка одна
вот сейчас бьюсь только над картами нормалей
скорее всего буду просто перезапекать и править общую карту чего я не хотел делать
само по себе мне не надо в конце разделять на отдельные объекты просто будет
один объект с одним материалом и UV из нескольких мешей

update: Может стоит заморочиться и сохранить вертекс группы и сделать изначально 1 меш  - пока думаю :(
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 20:08:34
Цитировать
Samovar количество разверток не убавиться а останется также много на каждый кусок объекта
А зачем тогда создавать одну общую развертку?
Логично, что все те ранее созданные предварительные развёртки, материалы и текстуры, должны быть удалены, после создания единого материала (можно это всё сделать на дубликате объекта). По моему, ты не понял, о чем я тебе пишу, и не попробовал...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 20:19:07
Цитировать
Samovar количество разверток не убавиться а останется также много на каждый кусок объекта

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

Update: До того как задать вопрос я долго искал приемлемый вариант, но так и не нашел :(
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 20:31:14
Оспорю...
Давай по прядку...
Допустим созданы два объекта в сцене: куб и цилиндр.
Они каждый имеют свой материал, со своей текстурой и свою UV развёртку.
Как сделать так, чтобы у них был один материал, одна развёртка, но текстуры сохранились?
Именно этот вариант я тебе и описал выше.


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

Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 20:40:38
Ну вот я так и тестил именно куб и цилиндр и их хай поли дубликаты с модификатором бевел для карт нормалей
собственно все делаю запекал карты нормалей по отдельности и собственно получал два материала с разными UV
При объединении куба с цилиндром ничего не изменялось просто становился один объект из двух мешей с двумя материалами и 2 UV
далее:
1. удалял любой материал оставался один материал с 2мя UV развертками (не вариант)
2. удалял любой материал оставался один материал удалял обе развертки и общий объект заново разворачивал
(не вариант UV отличалось и масштабом и положением и поворотом)
3. последний вариант делать сразу одним мешем весь доспех запекать и править карты уже финальные что не удобно тоже не вариант

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

И на каком шаге в объединенном меше по твоему способу останется одна развертка?
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 20:49:07
Цитировать
1. удалял любой материал оставался один материал с 2мя UV развертками (не вариант)
2. удалял любой материал оставался один материал удалял обе развертки и общий объект заново разворачивал
(не вариант UV отличалось и масштабом и положением и поворотом)
3. последний вариант делать сразу одним мешем весь доспех запекать и править карты уже финальные что не удобно тоже не вариант
Да надо просто объединить объекты в один {Ctrl+J}  и создать для этой полигональной сетки ещё одну развёртку:
(http://savepic.net/9097108.jpg)
а далее  в режиме редактирования полигональной сетки выделить всё, перейти в UV редактор, и действовать как я описал в своём первом сообщении этой темы...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 20:54:54
но этот вариант изменит Uv развертку часть объектов повернется для того чтобы уместиться на текстуре

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

update: к стати твой вариант только без масштабирования это мой пункт №2

в принципе конечно попробую но вариант с плагином мне пока нравиться больше

остался по прежнему вопрос картами нормалей
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 20:57:08
Цитировать
остался по прежнему вопрос картами нормалей
а что с ними не так?
Просто берёшь и запекаешь нормали в одну новую текстуру нормалей со всех материалов, как обычно... всё...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 21:06:11
Блин у нас тут прямо чат

Короче я вообще все это делаю из-за карт нормалей так как я при создании каждой части доспеха правлю карты в редакторе типа ГИМП
и вот проблема в конце получить одну общую карту нормалей не перезапекая ее из хай поли модели
надо каким нибудь образом их объединить под новую UV

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

Update: к стати я и не пробовал это сделать, а когда написал уже все кажется не столь сложным
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 21:10:41
Я ж тебе пишу , что ты уже запеченные текстуры нормалей, которые  уже наложены на твои материалы, просто перепекаешь в одну новую текстуру нормалей ещё раз... Что непонятно? Блин, ну давай попробуем что ли на каком нибудь простом примере... предлагай сцену для теста...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 21:17:22
Да я тебя понял у меня уже поздновато  да и не зачем попробую сделать завтра потом отпишусь по плану хочу сделать так:
1. Создам дубликаты объектов и объединю их в один (они уже с картами нормалей)
2. Создам на объединенном объекте новый материал и любым способом получу одну UV развертку
3. Запеку карту нормалей из предыдущих объектов на объединенный

по идее должно сработать

Update: к стати пришло в голову что новая UV развертка таким способом в принципе
может полностью отличаться от первоначальных запечься должно и так нормально
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 17 Март 2017, 21:20:27
Пункт 2 ошибочен... не надо пока создавать никакого материала... надо создать новую UV развертку и новую текстуру, в которую будет происходить запекание... и я уже про это писал...
...Хотя, возможно, у нас непонимание из-за того, что я тебе пишу про запекание в Интернале, а ты мне пишешь про Суслик...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 17 Март 2017, 21:31:20
Создание материала ни на что не повлияет в принципе и нет я использую интернал с сусликом не дружу

все до завтра после обеда где то отпишусь

Спасибо за результативный диалог
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: solonmaun от 18 Март 2017, 09:01:22
ShadowFirst ,вот что тебе надо сделать для запекания нормалей, объясняю пошагово:

0) Запекаешь все нужные карты (если ещё их не запёк) своей изначальной модели/моделей и сохраняешь их.
1) Объединяешь все объекты своей модельки в один объект.
2) Отключаешь все текстуры во всех материалах, кроме уже запечённых карт нормалей. Эти карты нормалей переводишь в режим отображения цвета, так как если бы это были обычные текстуры цвета. Рельефность отключить.
3) Создаёшь новую развёртку общую для всех элементов и делаешь её активной для рендера (значок фотоаппарата) и пофиг если она будет отличной от старых.
 Выделяешь все полигоны, создаёшь новое изображение в редакторе развёрток, ещё раз выделить все полигоны, на всякий случай.
4) Создаёшь новый материал но никуда не назначаешь его . В этом материале создаёшь новую текстуру и отключаешь её, назначаешь в неё новое изображение которое только что создал в UV редакторе (шаг 3) .
4) Включаешь запекание обычных текстур цвета, не нормалей!
5) Назначаем на всю модель новый материал из шага 4, включаем в нём ранее отключенную текстуру, и настраиваем в качестве карты нормалей, с отображением по общей для всех объектов развёртке, созданной в шаге 3. Сохранить текстуру в файл.
6) Удалить все ненужные теперь развёртки и материалы из объекта.

один материал желательно с одной общей UV разверткой

UV относится к данным полисетки и текстур, но никак не к материалу.

P.S
Для всего этого вроде существуют специальные утилиты, перепаковщики )
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: Samovar от 18 Март 2017, 09:11:07
Цитировать
2) Отключаешь все текстуры во всех материалах, кроме уже запечённых карт нормалей. Эти карты нормалей переводишь в режим отображения цвета, так как если бы это были обычные текстуры цвета. Рельефность отключить.
Это не обязательно. Просто надо создать новую текстуру и развертку, а затем запечь туда старые нормали как обычно, при этом рендерится должны старые UV. Хотя, можно и так...
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 18 Март 2017, 10:35:10
solonmaun
Спасибо за разъяснения, это я уже понял вот к стати статья по твоему посту нашел утром
http://www.3dbuffer.com/articles/zapekaem-kartyi-normaley-v-teksturu-i-lenivoe-teksturirovanie-3d-modeli-cherez-avtorazvertku-i-zapekanie-teksturyi-v-blender-dlya-igrovogo-dvizhka-unity3d/#.WMziMm_yiUk

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

Насчет UV я понимаю что она относится к сетке и объекту а не к материалу просто неправильно выразился
общий принцип мне понятен некоторые шаги можно изменить думаю результат будет :)
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: solonmaun от 18 Март 2017, 13:50:38
Цитировать
2) Отключаешь все текстуры во всех материалах, кроме уже запечённых карт нормалей. Эти карты нормалей переводишь в режим отображения цвета, так как если бы это были обычные текстуры цвета. Рельефность отключить.
Это не обязательно. Просто надо создать новую текстуру и развертку, а затем запечь туда старые нормали как обычно, при этом рендерится должны старые UV. Хотя, можно и так...

Да я это так, для надёжности  :) . Чтобы ничего лишнего не попало. Он же говорит, что они уже отредактированные.

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

Насчет UV я понимаю что она относится к сетке и объекту а не к материалу просто неправильно выразился
общий принцип мне понятен некоторые шаги можно изменить думаю результат будет :)


Главное что сам понял, мы-то знаем что всё должно получится  ;) . Изменять "шаги" можно и нужно, главное понимать, что делаешь и для чего.
Название: Re: Создание персонажа с несколькими картами нормалей как собрать в один материал
Отправлено: ShadowFirst от 18 Март 2017, 20:40:44
Собственно решение есть и вот результат(во вложении) как сюда картинки поместить только ссылками?
не думаю что вложения будут грузиться как картинки

Короче сделал так
1. Создал сферу и цилиндр и UV карты для них
2. Назначил каждому материал и сделал карты нормалей из хай поли моделей этих же объектов (забыл сгладить цилиндр :( )
3. Запек АО для сферы на цилиндр поленился
4. Создал дубликаты объектов и объединил их не смещая
5. Стёр на объединенном объекте все материалы и развертки сразу
6. Развернул заново объединенный объект
7. Установил на первоначальных объектах в качестве текстуры карты нормалей и запек новую карту нормалей как текстуру
получилась одна новая карта нормалей для объединенного объекта
8. Вернул все назад и запек текстуры как текстуру и получил одну общую текстуру вместе с АО

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

ЗЫ: Спасибо всем кто участвовал, у кого есть вопросы спрашивайте

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

И еще если запечь карты нормалей как нормали в принципе запекутся только корявенько слегка
пострадает разрешение и будут заметны артифакты для мелких объектов не критично как мне показалось