Как сделать пакет текстур Minecraft со стабильной диффузией

Опубликовано: 2022-10-05

Изображение заголовка Minecraft

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

Оглавление

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

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

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

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

  • Установка Java Minecraft
  • 7-Zip, WinRAR или другая программа для архивации файлов, которая может извлекать активы из файлов JAR.
  • GIMP, Paint.NET, Photoshop или другая программа для редактирования фотографий по вашему выбору.
  • Стабильная диффузия, желательно с графическим интерфейсом
  • Простой текстовый редактор, в идеале что-то вроде Atom или Visual Studio Code, но Блокнот тоже подойдет.

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

  • Java Minecraft версии 1.19.2
  • 7-zip
  • GIMP
  • Стабильная диффузия с графическим интерфейсом
  • Код Visual Studio (VSCode)

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

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

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

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

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

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

Перейдите туда, где вы установили Minecraft. По умолчанию он находится в «C:\Users\ (YourUserName) \AppData\Roaming\.Minecraft».

Папка Minecraft, когда она установлена ​​в папку по умолчанию.

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

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

Содержимое файла JAR.

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

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

Папка в файле JAR, содержащая текстуры для блоков.

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

СВЯЗАННЫЙ: Начало работы с Minecraft

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

Воссоздание структуры папок, найденной в файле JAR, в созданной нами папке рабочего стола.

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

Начните генерировать текстуры со стабильной диффузией

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

СВЯЗАННЫЕ С: Как запустить стабильную диффузию локально с графическим интерфейсом в Windows

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

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

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

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

Начнем с камня, так как он также будет основой всех руд. Конкретная подсказка была: smooth rock surface, stock photography, game texture, game asset, photorealistic, photography, 8K uhd . Мы использовали метод выборки PLMS с 50 шагами выборки, сохранили значение CFG по умолчанию, равное 7, и создали изображения партиями по 10. Возможно, вам следует сделать то же самое — стабильная диффузия хороша, но не идеальна. Вам понадобится несколько изображений, чтобы вы могли выбрать то, которое вам нравится. Мы получили достойные результаты на нашем первом запуске.

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

Мозаичное изображение 10 возможных каменных текстур, созданных с помощью Stable Diffusion.

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

Нажмите «Отправить в 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 шагами выборки. Убедитесь, что для параметра «Содержимое в маске» установлено значение «Скрытый шум», а для параметра «Режим маскирования» установлено значение «Замаскированный».

Теперь, когда мы обсудили настройки, давайте сделаем немного алмазной руды. Мы будем использовать hexagonal blue diamonds embedded in stone, photorealistic, vibrant для нашей подсказки. Затем просто возьмите курсор, нарисуйте, где вы хотите, чтобы бриллианты появились на поверхности камня. Выбранная область будет замаскирована полностью черным цветом.

Замаскированные области, в которых будут генерироваться алмазы.

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

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

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

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

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

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

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

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

 пакет.mcmeta 

Создайте текстовый файл с именем «pack.mcmeta» в папке с текстурой.

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

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

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

Откройте файл MCMETA с помощью Visual Studio Code.

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

 {
  "упаковка" : {
    "pack_format" : 9 ,
    "description" : "Пример пакета текстур для Minecraft с практическими рекомендациями"
  }
}

"pack_format:" : 9, строка является значимой. Это позволяет 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.х 7
1.18.х 8
1.19.х 9

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

Выберите папку «pack.mcmeta» и папку «assets», щелкните правой кнопкой мыши любую из них, наведите указатель мыши на 7-Zip и нажмите «Добавить в YOURFOLDERNAME.zip». Не добавляйте его случайно в файл «.7z».

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

СВЯЗАННЫЕ С: Как очистить грязное контекстное меню Windows

Скопируйте и вставьте ZIP-файл, который вы только что создали, в папку пакета ресурсов Minecraft. По умолчанию он находится в «C:\Users\ (YourUserName) \AppData\Roaming\.Minecraft\resourcepacks» — хотя это может быть иначе, если вы установили его в другом месте.

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

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

Наши текстуры отображаются в Minecraft. Слева направо: Камень, Грязь, Алмазная руда, Дуб.
Наши четыре блока в пустынном биоме.

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

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

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

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