4f2a70beddbc186e907cc1b764793c9e.png

Я продолжаю продолжать генерировать не мусор, с помощью ИИ. На примере мусора.

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

Как говаривал персонаж классика: Здраааась!

b2c99bf561f047ae6f8ebd111f68872e.jpeg

По своим задачам, делал референсы мусора, причем в полупрозрачных пакетах. Типа таких:

17d696a2e6dadf830891d38030cbc43c.png

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

d50864af2f7e9456c1b1eb8064398e04.jpeg

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

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

fc97ae686fcbe0407581c33295e69142.png

Используя этот референс, идем в трипо и генерируем болванку: Скачиваем как обычно.

22080ac644bf42547d6afbe9cc41cba1.jpeg

Как обычно. Болванка состоит из патчей, атлас развертки - помойка.

В этой статье будем использовать ретоп.

Тут важное общее правило. Модели из трипо, созданные с максимальным полигонажем, всегда будут иметь открытые ребра, по которым нам надо взять выделение.

2e1430a0a29062fae1dea9b09dfcfc5f.jpeg

После с зажатым ctrl щелкаем по уровню точек, и выделяем только те точки, что принадлежат открытым ребрам. Далее weld с минимальным порогом.

После этого всегда будут 7-10 минимальных контуров, которые закрываются через cap.

Это будет справедливо для любой модели.

После этого, выделив основной объем, нажимаем ctrl+i это инвертирует выделение, и выделит несколько оболочек, которые всегда присутствуют в ИИ моделях. Удаляем.

Итого, замкнутая модель, с текстурой.

Делаем копию, и ретопим стандартным Retopology. Количество полигонов- на ваш вкус.

ea869fefbff8733d8998a189e1a7795d.jpeg

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

12К против 2.1 млн.

d4419f2282eff1407d7535f6e66c9573.jpeg

Лоуполи модель разворачиваем анврапом. Удобнее всего через edge to edge режим. В нем вы щелкаете ребро и потом следующее на тот промежутке, который выглядит разумным (тот, к которому макс проложит кратчайший путь сам), важные места, там где надо идти по складкам, например, тыкайте почаще.

90d4e29e5570d89ca78497034c10469f.jpeg

Выравниваем модели через Align. Геометрически они должны быть в одной координате.

Далее идем в Bake to texture. Можно пойти и в Render to texture. Но рекомендую привыкать к Bake. Тк это свежий модуль для запекания.

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

Подробно тут давно писал:

https://3ddd.ru/blog/post/zapekanie_tekstur_v_3ds_max_corona_renderer

Скрином коротко:

43800c33bb4fe4b02096587b5a95a616.jpeg

Можно сразу запечь и нормали, но я в любом случае чищу в SP , поэтому нормали проще уже там, с учетом слоев очистки.

Итог запеканки диффуза в максе:

caf193c0204a794f52ef69dcf34eb642.pngКак видим - присутствуют аномалии по цвету, и артефакты по мелочи. Лечим это в Substance Painter. Лоуполи болванка та же, в модуль запекания так же хайполи, как и в максе.

15a5acb727c29b7f4bd19f28070ba078.jpeg

Диффуз подцепляем тот что пекли в максе. Корректируем в вышележащих слоях, или одним слоем. тут от задачи.

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

3e959a6cee017baf237dd0f55766dd49.jpeg

Далее в максе собираем детали пакета, подсмотрев их в интернете. Не такая и простая штука, оказывается. Можно делать прям в Марве, но мне проще тут, и потом импортировать через add as garment. Экспортирую только меш. Остальное просто для наглядности. Меш получен через garment maker - перед применением надо взорвать вершины, иначе будет жевать форму.

78fb78648ae127607a92026e9413749a.jpeg

В Марве импортируем, дорисовываем боковушки, и сшиваем детали.

f4b49fd96ce1482259b176082a99599d.jpeg

Закидываем аватар в сцену (наша лоуполи), и расставляем детали вокруг да около.

Не забываем что есть плоскость пола, все дела.

5c2e1443164fcff167d6809b51541d02.jpeg

Симулируем. Кстати, можете сохранять промежуточные результаты, или перемещаться по History в Марве, так можно быстро делать вариации. Тк можно быстро подсунуть другой аватар, и пересимить ткани.

2dd43625c2fb9a11dfe1e0a322524cf8.jpeg

Я в данном случае хочу узел. Поэтому pin box делаю два выделения и в режиме симуляции закручиваю узел (просто смещайте потихоньку, ориентируясь на возможности компа и плотность сетки)

f1b497917f62e19d37188cf2253e6031.jpeg

Итог можно оквадратить, или отретопить. Бывают случаи, когда это важно. В нашем случае и треугольники норм, но оквадратим. Красивее же

c9fca5365aa26c6c6099cb012d0d7a7e.jpeg

Итог экспортируем как обычно.

В максе совмещаем сетки, и настраиваем материалы.

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

8596b15c4be33330af9e29738cbe4a08.jpeg

Удобнее всего упаковать с нужным паддингом объекты на этапе первого лоуполи, и потом уже текстуры генерировать по их островам.

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

Кстати, тут я скармливал лоуполи. Уже по форме кресла. Принцип тот же.

3d270ee23f5614c352002866bcc1e86c.png

https://3ddd.ru/3dmodels/show/kreslo_puf_natuzzi_terra_set

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

14a35d86e9f6bdcd0bf6b5c5cb9bd48e.png

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

Итоговые данные позволяют скармливать в ЖПТ развертки, просить учитывать контекст из референсов, и генерировать доп текстуры быстро, и разнообразно.

Для примера -я отдал ему острова пакета, и попросил нарисовать ненавязчивую мятую нормаль. Нарисовал.

116b84f3300a496487373c297ea4c7f4.png

При необходимости. Можно так же генерировать диффузы, высоты, бампы, и все что хочется.

e8e6c8031df722b940426d3f7697e3f0.jpeg

edb459981b374e0e06b0f6f917554529.jpeg

С учетом того, что сам объект мусора так же развернут, то через ИИ можно Быстро накидывать вариации по материалу. Учитывая логику формы.

a91bd37c1a36c8f07f90f7d95b9d6ee4.jpeg

При этом, благодаря нормальному атласу, то что в ИИ не особо то покрутишь, можно добивать врукопашную.

4641b13ea5647d61dfa09f1c54a84f1e.jpeg

a04242dcb7e85183ece2ba0b6ead59f3.jpeg

В общем, вместо итога. ИИ, а конкретно тут это Трипо и ЖПТ - отичные помошники там, где руками бы я делать устал еще давным-давно. Супер полезно при поточной работе, там, где правки, изнениния, вносимые руками - поставили бы крест на подходе без использования таких инструментов.

Всем доброго дня.