Как сделать пакет текстур Minecraft со Stable Diffusion

Оглавление

1. Всё, что вам нужно, чтобы начать

2. Создайте папку для хранения ваших текстур

3. Начинаем генерировать текстуры со Stable Diffusion

4. Превращение текстур в пакет ресурсов для Minecraft


Minecraft — фантастическая игра, и у неё одно из крупнейших сообществ модов в истории игр. Что, если вы хотите добавить в свою игру индивидуальности, но вы не художник-график? Эта статья расскажет как использовать Stable Diffusion для создания текстур для Minecraft.

Всё, что вам нужно, чтобы начать

Есть куча программ, которые вам понадобятся, прежде чем вы сможете начать. Все они бесплатны (или имеют бесплатные альтернативы), кроме самого Minecraft.

Вот все, что вам нужно:

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

Если вы не собираетесь использовать то же самое программное обеспечение, скажем, если вы предпочитаете Atom вместо VSCode, это не должно иметь большого значения. Каждая из перечисленных программ имеет все необходимые функции.

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

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

Создайте папку для хранения ваших текстур

Вам нужно создать папку для хранения всех текстур, которые вы создаёте — мы поместили нашу прямо посередине нашего рабочего стола, где она не потеряется. Просто щёлкните правой кнопкой мыши на рабочем столе, наведите указатель мыши на «Создать», затем нажмите «Папка». Мы назвали нашу папку «HTGExampleTextures», вы можете выбрать любое другое имя.

Пакеты текстур Minecraft — или пакеты ресурсов, как их называет игра — должны соблюдать исходную иерархию папок ресурсов игры. Мы покажем вам, что это значит.

Перейдите туда, где вы установили Minecraft. По умолчанию он находится в папке «C:\Users\(ВАШЕ_ИМЯ)\AppData\Roaming\.Minecraft».

Дважды щёлкните папку «Versions», откройте подпапку «1.19.2», затем откройте текстовым редактором файл «1.19.2.json» и откройте архив «1.19.2.jar» с помощью Z-Zip.

Вы увидите что-то вроде этого:

Откройте «assets\Minecraft\Textures\Block». Здесь хранится большая часть текстур для игровых блоков — такие вещи, как камень, булыжник, кора дерева, цветы, все руды и драгоценные камни и тому подобное.

Совет: текстуры мобов хранятся в папке «entities», а большинство предметов, которые вы можете создать, находятся в папке «item».

Обратите внимание на путь к файлу вверху с пометкой «1». Minecraft будет искать определённые текстуры, такие как «diamond_ore.png», в этом месте. Это означает, что когда мы хотим заменить его нашей собственной текстурой, нам нужно использовать ту же структуру папок или иерархию папок, которые игра использует по умолчанию.

Вернитесь к папке на рабочем столе, которую мы приготовили для пакета текстур, и откройте её. Создайте новую папку с именем «assets» в папке пакета текстур. Перейдите в неё и создайте подпапку с именем «minecraft» в папке «assets». Перейдите в папку «minecraft» и создайте там подпапку «textures», затем перейдите в неё и создайте там папку «block». Когда вы закончите, это должно выглядеть так:

Теперь мы готовы сделать несколько текстур.

Начинаем генерировать текстуры со Stable Diffusion

Stable Diffusion хороша для создания всех видов изображений. Оказывается, с правильным запросом вы также можете заставить её генерировать плоские изображения, которые хорошо подходят для игровых текстур.

Смотрите также: Как запустить Stable Diffusion локально с графическим интерфейсом в Windows

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

BLOCKNAMEHERE, stock photography, game texture, game asset, photorealistic, photography, 8K uhd

Перевод: BLOCKNAMEHERE, стоковая фотография, игровая текстура, игровой актив, фотореалистичная, фотография, 8K uhd

Мы не создаём всеобъемлющий пакет текстур, который заменит каждую текстуру. Мы собираемся заменить несколько текстур, чтобы проиллюстрировать, как вы можете подойти к этому:

  • Камень
  • Алмазная руда
  • Дуб
  • Грязь

Начнём с камня, так как он также будет основой всех руд. Конкретный запрос был:

smooth rock surface, stock photography, game texture, game asset, photorealistic, photography, 8K uhd

Перевод «гладкая каменная поверхность, стоковая фотография, игровая текстура, игровой ресурс, фотореалистичность, фотография, 8K uhd».

Мы использовали метод семплирования PLMS с 50 шагами семплирования, сохранили значение CFG по умолчанию, равное 7, и создали изображения партиями по 10. Возможно, вам следует сделать то же самое — Stable Diffusion хороша, но не идеальна. Вам понадобится несколько изображений, чтобы вы могли выбрать то, которое вам нравится. Мы получили достойные результаты на нашем первом запуске.

Примечание: Minecraft использует текстуры размером 16×16, но легко может использовать текстуры размером 128×128. Мы сгенерировали изображения размером 512×512, но не о чем беспокоиться. С размером мы разберёмся позже.

Самый первый результат в верхнем левом углу выглядит хорошим, поэтому мы выберем его. Выберите его из отображаемых текстур и нажмите «Сохранить». Функция сохранения записывает все переменные, необходимые для повторного воссоздания этой конкретной партии изображений. Таким образом, если что-то случится, и вы случайно потеряете свою текстуру, вы всегда сможете сгенерировать её снова.

Наконец нажмите Send to Inpaint («Отправить в Inpaint»).

Inpainting позволяет вам выборочно регенерировать определённые части изображения на основе новой подсказки. Мы будем использовать его для создания вариантов руды нашей базовой текстуры камня.

Примечание. Отправка в Inpaint иногда может вызывать ошибки. Если он не отображается, перейдите на вкладку «img2img», выберите «Inpaint Part of a Image» вверху, вернитесь на вкладку «txt2img» и попробуйте снова нажать «Send to Inpaint». Если это не сработает, вы всегда можете получить доступ к своим текстурам в выходной папке Stable Diffusion. Если вы следовали нашему руководству, выходная папка будет «C:\stable-diffusion-webui-master\outputs\txt2img-images».

Inpaint имеет многие из тех же настроек, что и txt2img. Мы собираемся оставить CFG на уровне 7, использовать метод семплирования «DDIM» с 50 шагами семплирования. Убедитесь, что для параметра Masked Content («Содержимое в маске») установлено значение Latent Noise («Скрытый шум»), а для параметра Masking Mode («Режим маскирования») установлено значение Inpaint Masked («Замаскированный»).

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

hexagonal blue diamonds embedded in stone, photorealistic, vibrant

Перевод: шестиугольные голубые бриллианты, встроенные в камень, фотореалистичные, яркие.

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

После того как вы закончите маскирование, нажмите Generate («Создать»). Мы собираемся продолжить с результатом, расположенным в середине второго ряда.

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

Нажмите Save («Сохранить») ещё раз, чтобы не потерять понравившиеся результаты.

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

Превращение текстур в пакет ресурсов для Minecraft

После того как вы создали все нужные текстуры, переместите их из выходной папки Stable Diffusion в папку «block» в папке пакета текстур на рабочем столе. Выходная папка Stable Diffusion по умолчанию находится в папке «C:\stable-diffusion-webui-master\outputs\» на вашем компьютере. Важны две папки: txt2img и img2img. Всё, что вы сгенерируете с помощью только текстового запроса, будет в txt2img, а всё, что вы создадите с inpaint, будет в img2img.

Каждая текстура, которую вы перемещаете, должна быть переименована в соответствии с текстурой, которую вы хотите заменить. Например, текстура камня переименовывается в «stone.png».

Совет: Вы всегда можете проверить 1.19.2.jar, чтобы выяснить, как называется каждая текстура.

Нам также нужно немного уменьшить масштаб этих изображений, так как в настоящее время они немного велики. Щёлкните правой кнопкой мыши текстуру, наведите указатель мыши на «Открыть с помощью» и выберите GIMP. Дайте GIMP секунду, чтобы запустить и импортировать текстуру, нажмите «Изображение» в строке меню вверху, затем выберите «Масштабировать изображение».

Вы можете уменьшить его до нужного вам размера — по умолчанию в Minecraft — 16×16 пикселей — но мы уменьшим только до 128×128, чтобы сохранить детали. Введите нужные размеры и нажмите «Масштабировать».

Предупреждение: изображение должно быть квадратным. 16×16, 32×32, 64×64, 128×128 и так далее.

Вы сразу заметите, что ваше изображение стало намного меньше, чем было раньше. Нажмите «Файл» в верхнем левом углу, затем нажмите «Перезаписать stone.png».

Повторите процесс для всех текстур, которые вы хотите заменить.

Тяжёлая часть позади. Последнее, что нам нужно сделать, это создать файл, который сообщает игре, что изображения, которые мы предоставляем, должны использоваться в качестве пакета ресурсов Minecraft. Щёлкните правой кнопкой мыши пустое место, наведите указатель мыши на «Создать», затем нажмите «Текстовый документ». Вы сразу сможете ввести имя. Перейдите в самый конец строки — за расширение файла «.txt» — и очистите всё это, затем введите:

pack.mcmeta

Затем нажмите клавишу Enter. Вы получите предупреждение об изменении расширения файла. В принципе предупреждение правильно: произвольное переименование расширений файлов — плохая практика. Впрочем, в данном случае это совершенно неважно. Просто нажмите «Да».

Конечно, Windows абсолютно не знает, что такое файл «.mcmeta», если вы раньше не возились с файлами Minecraft, поэтому ОС не будет знать, как его открыть. Щёлкните файл «.mcmeta» и откройте его с помощью Visual Studio Code или любого другого текстового редактора, который вы выбрали.

Примечание. в крайнем случае подойдёт и Блокнот, но есть программы и получше.

Откройте файл MCMETA и вставьте в него следующее содержимое:

{
  "pack": {
    "pack_format": 9,
    "description": "ZaLinux.ru Example Minecraft Texture Pack"
  }
}

Строка «"pack_format": 9,» является значимой. Она позволяет Minecraft узнать, для какой версии игры предназначен ваш пакет ресурсов. Вот удобная таблица, если вы модифицируете другую версию Minecraft:

Версия Minecraft Номер формата пакета
1.11-1.12.2 3
1.13-1.14.4 4
1.15-1.16.1 5
1.16.2-1.16.5 6
1.17.x 7
1.18.x 8
1.19.x 9

После того как вы вставите необходимые строки, нажмите Ctrl+S или щёлкните Файл → Сохранить в верхнем левом углу. Вы закончили редактирование файла, поэтому закройте текстовый редактор.

Выберите папку «pack.mcmeta» и папку «assets», щёлкните правой кнопкой мыши любую из них, наведите указатель мыши на 7-Zip и нажмите «Добавить в ИМЯ_ВАШЕЙ_ПАПКИ.zip». Обратите внимание, что нужно добавить именно в .zip архив, а не в «.7z».

Совет: Удерживая нажатой клавишу Ctrl, кликайте мышкой, чтобы выбрать несколько элементов.

Скопируйте и вставьте ZIP-файл, который вы только что создали, в папку пакета ресурсов Minecraft. По умолчанию она находится в «C:\Users\(ИМЯ_ВАШЕГО_ПОЛЬЗОВАТЕЛЯ)\AppData\Roaming\.Minecraft\resourcepacks» — хотя это может быть иначе, если вы установили его в другом месте.

Теперь можно играть. Запустите Minecraft, затем перейдите в «Параметры» → «Пакеты ресурсов» и выберите пакет, который вы только что создали.

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

Наши четыре блока в пустынном биоме:

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

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

Сущности труднее ретекстурировать из-за их более сложной геометрии. Тем не менее Stable Diffusion можно легко использовать для создания меха, металлов, текстур дерева, текстур кожи и вообще всего, что вам нужно. Дополнительная сложность заключается в том, что UV разворачивает текстуры, чтобы они правильно применялись к моделям.

И это только начало. Усилия сообщества уже привели к созданию инструментов, которые могут использовать ИИ для создания новых бесшовных текстур по запросу в Blender. Нельзя сказать наверняка, как будет выглядеть будущее искусства, созданного ИИ, но сообщество моддинга и DIY, безусловно, продолжит делать с ним экстраординарные вещи.

Смотрите также:


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo