ИИ - имба или пузырь? Разбираю на личной практике моделинга под сток.
Данная статья-урок проливает свет на практическое использование ИИ-инструментов в пайплайне моделлера, а также отвечает на вопросы: можно ли, не имея классической базы знаний и используя только ИИ-инструменты, получить коммерческий продукт, и действительно ли ИИ - имба?
Модели созданные с помощью ИИ, используемые в статье:
Раньше все мы держали (и держим) гигабайты текстурных сборников на своих хардах. Создание текстур, соответствующих оригиналу по фото, всегда отнимало много времени. Многие просто забивали на соответствие и лепили что-то близкое по тону. Если речь шла, например, о древесине, то подобрать что-то похожее можно было всегда. Но как только задача выходила за рамки доступных сборников с широким ассортиментом - всё, тупик. Сиди полдня, убивайся над сшиванием франкенштейна из того, что найдёшь в интернете, на основе убогих шакалистых джипегов. Однако с появлением Nano Banana работа по созданию текстур превратилась в почти беззаботную рутину. Теперь можно генерировать текстуры по образцам и просто по описанию. Причём образец может быть даже не в самом явном виде (для наших глаз), но нейросетке будет всё понятно, и она сгенерирует именно то, что нужно. Ниже я приведу промпты для основных сценариев.
- Промт Nano Banana 2 для ситуации с явным образцом:
"создай плоскую текстуру дерева на подобии этой фотографии. Текстура должна быть однородной без швов. Направление волокон дерева вертикальное. Также на полотне текстуры не должны быть тёмные швы, как будто это доски - текстура это одно полотно без швов. Также текстура должна быть богата разнообразием рисунка древесины точно таким же как это на фото."
Слева - образец на вход. Справа - результат генерации:
- Промт Nano Banana 2 для ситуации с не явным образцом:
"создай бесшовную текстуру деревянной столешницы как на фото у стола"
Интересно то, что, несмотря на едва заметную особенность столешницы, которая состоит из клеёных брусков, ИИ учёл её даже без указания этой особенности в промпте:
- Промт Nano Banana 2 для ситуации с отсутствием образца:
"сгенерируй альбедо текстуру крыши из битумного рулонного покрытия. размер участка крыши пять метров на пять метров. Ширина одного рулона - один метр."
- Промт Nano Banana 2 для генерации альбедо (грубо говоря диффузная текстура без влияния света) из текстуры образца:
"создай из этой фотографии битумной рулонной кровли текстуру альбедо"
Можно было учесть это сразу в предыдущем промпте, но я просто демонстрирую возможность получения альбедо отдельным промптом:
- Промт Nano Banana 2 для генерации вариантов текстур из текстуры образца:
"создай на основе этой текстуры альбедо рулонной битумной крыши ещё один вариант такой текстуры. На текстуре должно быть тоже пять полос битумного рулона, но уже других. Чтобы их рисунок текстуры отличался от прилагаемого. Цветовую гамму и насыщенность цветов менять не нужно."
Выглядит так просто, правда? Не нужно ничему учиться, нужно лишь уметь просить о том, что хочешь получить. Можно даже с ошибками писать кривым стилем. Но это большое заблуждение. Давайте разберём подробнее основные подводные камни:
- Галлюцинации ИИ:
- галлюцинации и вселенский рандом. Если эти промпты работают у кого-то, это не гарантирует такой же результат у вас. Скорее всего, вам придётся пройти несколько итераций, прежде чем нейронка выдаст то, что нужно. Даже самые строгие и длинные промпты иногда не работают. Вот что выдало мне в одной из итераций, и этот результат совершенно не сочетался с теми вариантами битумных рулонов, которые были сгенерированы до этого.
- Nano Banana 2 не умеет в seamless:
- я убил кучу времени и кредитов на попытки найти волшебный промпт, который генерировал бы мне бесшовную текстуру, но, видимо, такого просто не существует в природе. Да, в очень редких случаях это получалось. Но почти всегда - нет. Простая трата времени и кредитов. Приходится прибегать по старинке к старому софту вроде Photoshop или Substance 3D Sampler.
- 4K-разрешение по факту не 4K:
- вроде бы всё чётко, но стоит зазумить, и становится ясно, что перед вами апскейленное стохастическое мыльцо. Я не смог найти промпт, который давал бы честные, чёткие 4K. Решал это апскейлом с 4K до 8K в Topaz Gigapixel и обратным даунскейлом до 4K.
Думаете, это всё? Чаще всего вашего промпта будет совсем недостаточно, и даже после десяти генераций нейронка будет выдавать не то. Вы будете всё подробнее и подробнее расписывать промпт, но работать всё равно не будет. Это потому, что нейронки, хоть и понимают свободную речь, всё ещё подчиняются языку структур и инструкций. Например, вот промпт, который генерирует в Nano Banana 2 из фотографии плетёного джута равномерную текстуру:
Уже не так просто, правда? Даже голосом надиктовать не получится. Надо вдумчиво поработать над структурой. В этом, кстати, помогают другие ИИ. Да-да… тебе нужен ИИ, чтобы работать с ИИ… а иногда нужен один ИИ, чтобы помочь другому ИИ, чтобы смог третий ИИ… Я не шучу.
Кроме таких промтов есть ещё формат JSON:
{ "subject": "oak butcher-block countertop made of glued wooden strips",
"material": "natural oak, visible lamination",
"lighting": "soft daylight",
"view": "top-down crop",
"output": "seamless albedo texture",
"constraints": "no shadows, no perspective distortion, no gloss"}
Но даже несмотря на эти чёткие форматы, вы всё равно будете получать галлюцинации и нарушения прописанных правил, хотя, конечно, гораздо реже, чем при использовании промптов в свободной форме речи. Например, два верхних промпта не дают seamless-текстур и ещё нарушают ряд других правил.
Хорошо, вы победили промпты и научились составлять их в формате структур или JSON, прибегая к помощи других ИИ. Что дальше? Теперь-то можно забыть про изучение базы классического софта? Нет. Вот цепочка действий, которая описывает весь путь создания материала на примере рулонной битумной кровли. И каждый шаг - это своя база знаний:
- - генерация в Nano Banana 2 четырёх вариантов текстур альбедо в 4K;
- - апскейл каждого варианта до 8K и даунскейл до 4K для придания чёткости в Topaz Gigapixel;
- - сшивание четырёх вариантов текстур в одну бесшовную 8K-текстуру в Photoshop;
- - генерация текстур нормалей и шероховатости в 4K в Substance 3D Sampler;
- - исправление текстуры нормалей в Photoshop, так как Substance 3D Sampler просто не «понимает», где на самом деле выпуклости, а где вогнутости. Да, вы должны разбираться в том, как работать с каналами карт нормалей и что там нужно инвертировать, чтобы карта трансформировалась в нужный вам вектор;
- - нарезание в 3ds Max текстур на полоски (полосы рулонов) через Crop. Да, вы должны знать, что лучше нарезать в самом Max через Crop, чем из трёх файлов текстур создавать тридцать файлов на жёстком диске;
- - линковка всех трёх (тридцати нарезанных) текстур сразу в один CoronaMultiMap. Да, вы должны знать, что нужно пользоваться Additional Outputs, а не плодить их под каждый PBR-канал (как многие);
- - использование гамма-коррекции в CoronaNormal, а не в CoronaBitmap. Да, вы должны знать, что, проходя через CoronaMultiMap, CoronaNormal не «видит» гамму 1.0 и начинает ругаться. И вообще, вы должны понимать, какой input gamma должен быть у текстур в зависимости от канала шейдера;
- - последовательная линковка в CoronaMappingRandomizer и CoronaTileMap. Да, тут тоже надо знать про Additional Outputs, а также про Tile ID и прочие настройки, особенности UV-мэппинга CoronaTileMap и зачем вообще его использовать в этом шейдере.
Итоговая структура шейдера рулонной битумной кровли после 9 шагов. Выглядит просто, но за этим "просто" стоят годы опыта и работы:
И опять кто-то скажет: да зачем мне все эти схематозы и нарезки? Я просто создам PBR текстуры в Nano Banana, подключу каждую в свой PBR-канал - и всё! К чёрту тайлинг и всё остальное - для табуретки и стола хватит за глаза. Так-то да, но только если ты, например, моделишь бытовой примитив. Но в случае с кровлей, которая может занимать десятки метров площади, ты получишь эффект тайлинга, даже несмотря на то, что текстура будет технически бесшовной. Избавиться от этого помогает как раз вышеописанный схематоз. И чтобы уметь с ним работать, надо подробно знать и понимать, как всё устроено и взаимодействует между собой.
Ну, с 2D всё понятно: можно обойтись малой кровью, избегая обработки текстур и сложных шейдеров, которые генерирует Nano Banana. Сидеть на одних условных табуретках, не претендуя на профессиональный рост. Но ведь и меш условной табуретки ещё где-то взять нужно. Да не просто меш, а ещё и с нормальными развёрнутыми текстурными координатами. Что там может предложить нам ИИ в плане генерации 3D? Давайте посмотрим.
Думаешь, сможешь с помощью 3D-ИИ вроде лучшей в мире Hunyuan генерировать геометрию табуреток без глубокого изучения моделинга, а потом, не изучая 2D-софт, генерировать текстуры в Nano Banana и накладывать их на сгенерированную модель? Тоже не выйдет. Посмотри, как криво делает модели уже третье поколение лучшей в мире 3D-ИИ Hunyuan:
типа стол ага (используй ЛКМ, колёсико и ПКМ для вращения)
На входе были высококачественные 4K-фотографии самого примитивного квадратного стола, но ИИ не справился.
Вход:
Результат от лучшей 3D-ИИ третьего поколения:
И сколько бы итераций я ни делал, модель всегда получалась кривой. Тут проблемы и с геометрическими формами, и с пропорциями. О других проблемах даже говорить нет смысла, ведь сама форма фатально неправильна. Где ты возмёшь меш? Нигде. Нужно учить базу моделинга ручками, а потом ещё базу создания текстурных развёрток. А потом ещё и свет, и рендеринг изучать... И ещё сотни важных мелочей, которые просто не поместятся в эту статью.
Как видите, ИИ сам по себе не сделает вас успешным моделлером и, конечно же, не является никакой имбой. Новички думали, что ИИ облегчит им профессиональный путь, но на практике это всего лишь ещё одна дисциплина, которую нужно осваивать вдобавок к десятку классических, чтобы попытаться составить конкуренцию тем, кто стал профессионалами ещё до появления ИИ. Профессионалу нужно освоить всего одну новую дисциплину - ИИ. Всем остальным - в 10 раз больше.











