Топ 3 пайплайнов для создания текстур с помощью ИИ (SD, MidJourney, DreamBooth)
ИИ все лучше справляется с улучшением и оптимизацией существующих процессов. Такая задача, как поиск нужных текстур, может иногда быть удручающей, особенно если в проекте нужно использовать уникальные текстуры. В этой небольшой заметке мы предложим вам несколько пошаговых пайплайнов для создания текстур с помощью нейросетей.
Следующие кейсы были сделаны с использованием этих инструментов: Phygital+ (нодовый бексонечный канвас с более 20 передовыми ИИ-инструментами, включая ChatGPT, SD XL, MidJourney и ControlNet), Blender и веб приложение Seamless texture maker.
Кейс 1. Бесшовные текстуры из текста
Этот кейс подойдет тем, кто не хочет тратить время на поиск нужного пака текстур, и кто хотел бы их создавать просто из идеи / текста. Сам процесс генерации бесшовной текстуры стал максимально адаптированным и простым. Все, что нам нужно — это просто текст и базовое знание 3D, если вы хотите получить объемную текстуру. Таким способом можно получить бесшовную текстуру до 2К, в некоторых случаях до 4К.
Шаг 1. Генерация самой текстуры. Вы можете пойти двумя путями, используя разные нейросети. 1 вариант: Используйте Stable Diffusion.
- Создаем текстуру в SD XL. Пишем в промпт "<название текстуры>, top view, ultra detailed". Используйте промпт стиль Texture для лучших результатов и стиль Juggernaut или DynaVision.
- Подсоединяем понравившееся изображение в SD 1.5. Включаем в Advanced settings Tiling X и Tiling Y. Выставляем параметр Denoising strength (Start Image skip) на 0.4.
2 вариант: делаем основу текстуры с помощью MidJourney:
- Вводим промпт "<название текстуры>, topview, ultra detailed, --tile" и запускаем
При необходимости на этом этапе можно также использовать Upscale.
Шаг 2. Создаем карту глубины с помощью Depth Mask from Image
Шаг 3. Убираем швы у карты глубины. Идем в Seamless Texture maker загружаем нашу полученную карту в PNG, ставим параметр Pre-averaging of dark and light areas of the image: Intensity: 20. Выбираем формат PNG
Шаг 4. Придание объема. Загружаем полученную карту глубины без швов, идем в любой софт 3D (в нашем случае мы использовали Blender с Displacement + Subdivision) и выдавливаем текстуру.
Для повторения этого пайплайна воспользуйтесь темплейтом Seamless basic textures внутри Phygital+ :)
Кейс 2. Бесшовные стилизованные текстуры
Итак, мы научились делать бесшовные текстуры с помощью SD и MidJourney, но важно уметь делать это также в уникальной стилистике игры или проекта. Сделать это можно достаточно просто, используя обучение Stable Diffusion.
Шаг 1. Сначала мы должны собрать референсы стиля (минимум 15-20 изображений, обрезаем до 512х512). В нашем примере мы используем игру Project Winter в качестве референса для стиля игры, поэтому нам отлично подойдут простые скриншоты из игры.
Шаг 2. Нужно обучить нашу модель Train panel
В Train panel нажимаем обучить, дальше на следующем шаге сверху выбираем Style, ставим Type Game style и вводим уникальное имя, которое неизвестное Stable Diffusion (хороший пример – игра Project Winter. Можно легко проверить в ноде SD 1.5, что ее не знает Stable Diffusion – просто вводим это слово, и он выдает совсем не то, что нужно). Выбираем Training method DreamBooth.
В настройках убираем галочку Optimized. В Subject пишем 'In the style of <ваше уникальное имя>, Training steps выставляем на 1200 (на 31 изображение), Class images на 1.
Загружаем изображения, нажимаем обучить и ждем, пока создастся наша модель.
Шаг 3. После окончания обучения вам придет на почту письмо, что ваша модель готова. Далее мы создаем ноду SD 1.5, в My models выбираем новую обученную модель (она будет отображаться по уникальному имени/Subject, что мы дали на предыдущем шаге).
– Если нужна текстура с крупными элементами, то оставляем Width / Height на 512х512.
– Если нужна текстура с более мелкими элементами, выставляем Width / Height 1024x1024.
В промпт пишем "<какая текстура>, texture, top down view, <in the style of ваш уникальный стиль>". В Advanced ставим галочку Tiling X и Tiling Y.
После создания текстуры вы можете ее использовать в таком виде, или, как это было сделано в предыдущем кейсе, доработать ее для придания объема в 3D:
5. Создаем карту глубины с помощью Depth Mask from Image
6. Убираем швы у карты глубины у текстуры. Идем в Seamless Texture maker загружаем в PNG, ставим параметр Pre-averaging of dark and light areas of the image: Intensity: 20. Выбираем формат PNG
7. Идем в 3D приложение и получаем объемную текстуру, как в предыдущем кейсе.
Попробуйте темплейт Seamless stylized texture, чтобы повторить этот пайплайн самим :)
Кейс 3. Преобразование любой текстуры в стилизованную по UV map
Если у вас есть уникальный стиль игры, и вы не хотите тратить время на перерисовку уже существующей текстуры, вы можете легко попросить помощи у ИИ. Использование UV карты определенного объекта помогает быстрее создать нужную текстуру в уникальной стилистике.
Например, у вас есть моделька для домика для собаки. Она выглядит крайне реалистичной, хотя модель сама по себе простая. И у вас есть игра в low-poly стиле (Project Winter, например). Просто обучите нейросеть на вашем стиле и используйте ее в любых генерациях
1. Сначала нужно обучить модель, как мы описали в Кейсе 2 выше.
2. Через Import files загружаем UV карту
3. Подключаем изображение из Import files к ControlNet, выбираем Type Edge, нашу обученную модель в My models. Пишем промпт "simple wooden planks texture in the style of ProjectWinterGame"
4. Запускаем. Если вам нужны несколько вариантов текстуры, вы можете легко это сделать, скопировав ноду и запустив ее. Или поменяйте Seed на любое рандомное число и нажмите Start, если вас не устраивает генерация.
5. Сохраняем получившуюся текстуру, подгружаем ее в 3D софт и заменяем текстуру на новую. Готово! :)
Используйте темплейт Stylize texture from UV map для повторения этих шагов.
Заключение
На рынке Generative AI есть много инструментов, которые заточены на создание бесшовных текстур, лучшие из этих инструментов представлены у нас на AI Library. При необходимости можно использовать любой из них.
Однако, большинство из них заточены на простое создание текстур из текста, в них мало настроек, и процесс генерации сложно контролировать. Одно из преимуществ Phygital+ — это возможность объединять инструменты и выстраивать их в понятный пайплайн, в котором вы можете вернуться к любому из шагов и поменять настройки. Так вы можете обучить, генерировать, улучшать и редактировать текстуры в одном воркспейсе, используя любой из 80 доступных стилей Stable Diffusion или обученную вами уникальную модель.
Надеемся, что эта заметка была полезной для вас, и если вы хотите больше узнать про существующие инструменты и их связки, следите за нашей библиотекой юзкейсов, в которую мы постепенно добавляем такие краткие пошаговые выжимки. Оставайтесь всегда в курсе основных трендов и возможностей :)