Como fazer um pacote de textura do Minecraft com difusão estável

Minecraft é um jogo fantástico e possui uma das maiores comunidades de modding da história dos jogos. E se você quiser adicionar um toque pessoal ao seu jogo, mas não for um artista gráfico? Veja como usar o Stable Diffusion para criar texturas para o Minecraft.

Tudo que você precisa para começar

Existem vários programas que você precisará antes de começar. Eles são todos gratuitos (ou têm alternativas gratuitas), exceto o próprio Minecraft.

Aqui está tudo que você precisa:

  • Uma instalação do Java Minecraft
  • 7-Zip , WinRAR ou outro programa de arquivamento de arquivos que possa extrair ativos de arquivos JAR 
  • GIMPPaint.NET , Photoshop ou outro programa de edição de fotos de sua escolha
  • Difusão estável, de preferência com GUI
  • Um editor de texto simples , de preferência algo como Atom ou Visual Studio Code , mas o Notepad também funciona

Se você quiser acompanhar exatamente o que fazemos, aqui está a lista exata de coisas que usaremos neste tutorial:

  • Java Minecraft versão 1.19.2
  • 7-Zip
  • GIMP
  • Difusão estável com uma GUI
  • Código do Visual Studio  (VSCode)

Se você não vai usar o mesmo software, digamos que se você prefere Atom ao VSCode, isso não deve importar muito. Cada programa listado possui todas as funcionalidades necessárias.

Certifique-se de executar o Minecraft pelo menos uma vez após baixá-lo e instalá-lo. O inicializador baixa mais arquivos na primeira vez que o jogo é executado.

Depois de fazer tudo isso, estamos prontos para começar a produzir texturas.

Crie uma pasta para armazenar suas texturas

Você precisa criar uma pasta para armazenar todas as texturas que você cria — colocamos a nossa bem no meio da nossa área de trabalho, onde ela não se perderá. Basta clicar com o botão direito na área de trabalho, passar o mouse sobre “novo” e clicar em “Pasta”. Chamamos o nosso de “HTGExampleTextures” porque é fácil de lembrar.

Os pacotes de textura do Minecraft — ou pacotes de recursos, como o jogo os chama — precisam respeitar a hierarquia de pastas original dos ativos do jogo. Mostraremos o que isso significa.

Navegue até onde você instalou o Minecraft. Está em “C:\Users\ (YourUserName) \AppData\Roaming\.Minecraft” por padrão.

A pasta do Minecraft quando instalada no local padrão.

Clique duas vezes na pasta “Versões”, abra a subpasta “1.19.2”, clique com o botão direito em “1.19.2.json” e abra o arquivo com Z-Zip.

Clique com o botão direito no arquivo JAR do Minecraft e abra-o com 7-Zip, WinRAR ou qualquer outro programa de arquivamento.

Você verá algo assim:

O conteúdo do arquivo JAR.

Abra “ativos\Minecraft\Texturas\Bloco”. É aqui que a maioria das texturas dos blocos do jogo são armazenadas – coisas como pedras, paralelepípedos, cascas de árvores, flores, todos os minérios e gemas e tudo mais.

As texturas do Mob são armazenadas na pasta “entidades”, e a maioria dos itens que você pode criar estão na pasta “item”. 

A pasta no arquivo JAR que contém as texturas dos blocos.

Observe o caminho do arquivo na parte superior, marcado como “1”. O Minecraft procurará certas texturas, como “diamond_ore.png”, neste local. Isso significa que quando quisermos substituí-la por nossa própria textura, precisamos usar a mesma estrutura de pastas, ou hierarquia de pastas, que o jogo usa por padrão.

Recomendado:  Sua TV via satélite pode usar seu Wi-Fi como sinal de backup

Volte para a pasta do pacote de textura na área de trabalho e abra-o. Crie uma nova pasta chamada “assets” na pasta do pacote de textura. Em seguida, crie outra pasta chamada “minecraft” dentro da pasta Assets. Repita esse processo para as pastas “texturas” e “bloco”. Quando terminar, deve ficar assim:

Recriando a estrutura de pastas encontrada no arquivo JAR na pasta Desktop que criamos.

Agora estamos prontos para realmente fazer algumas texturas.

Comece a gerar texturas com difusão estável

A difusão estável é boa para gerar todos os tipos de imagens. Acontece que, com o prompt certo, você também pode gerar o tipo de imagens planas que funcionam bem para texturas de jogos.

Usamos o prompt abaixo para gerar nossas texturas base, mas você pode apimentar um pouco se quiser. Se você quer um pacote de textura selvagem e psicodélica onde tudo é feito de olhos, bem, mais poder para você. O nosso objetivo é ter uma aparência bastante realista.

BLOCKNAMEHERE, banco de imagens, textura do jogo, recurso do jogo, fotorrealista, fotografia, 8K uhd

Não estamos construindo um pacote de texturas abrangente que substituirá todas as texturas. Vamos substituir algumas texturas para ilustrar como você pode abordar isso:

  • Pedra
  • Minério de diamante
  • Carvalho
  • Sujeira

Vamos começar com a pedra, pois ela também formará a base de todos os minérios. O prompt específico foi:  smooth rock surface, stock photography, game texture, game asset, photorealistic, photography, 8K uhd. Usamos o método de amostragem PLMS com 50 etapas de amostragem, mantivemos o valor CFG padrão de 7 e produzimos imagens em lotes de 10. Você provavelmente deveria fazer o mesmo — A difusão estável é boa, mas não é perfeita. Você vai querer várias imagens para poder escolher uma de sua preferência. Obtivemos resultados decentes em nossa primeira corrida.

O Minecraft usa texturas de 16×16, mas pode facilmente aceitar texturas de 128×128. As imagens que geramos tinham 512×512, mas não se preocupe. Trataremos da questão do tamanho mais tarde.

Uma imagem lado a lado de 10 texturas de pedra potenciais geradas com Difusão Estável.

O primeiro resultado no canto superior esquerdo parece bom, então vamos escolher esse. Selecione-o nas texturas exibidas e clique em “Salvar”. A função salvar registra todas as variáveis ​​necessárias para recriar novamente esse lote específico de imagens. Dessa forma, se algo acontecer e você perder sua textura por acidente, você sempre poderá gerá-la novamente.

Clique em “Enviar para Inpaint” por último.

Selecione a textura desejada, clique em “Salvar” e depois em “Enviar para Inpaint”.

O Inpainting permite regenerar seletivamente certas partes de uma imagem com base em um novo prompt. Iremos usá-lo para gerar as variantes de minério da nossa textura de pedra base.

Enviar para o Inpaint às vezes pode ser um pouco problemático. Se não aparecer, clique na aba “img2img”, selecione “Inpaint Part of an Image” próximo ao topo, volte para a aba “txt2img” e tente clicar em “Send to Inpaint” novamente. Se isso não funcionar, você sempre pode acessar suas texturas na pasta de saída do Stable Diffusion. Se você seguiu nosso guia, a pasta de saída será “C:\stable-diffusion-webui-master\outputs\txt2img-images”. 

O Inpaint tem muitas das mesmas configurações do txt2img. Vamos manter o CFG em 7, usar o método de amostragem “DDIM” com 50 etapas de amostragem. Certifique-se de que “Masked Content” esteja definido como “Latent Noise” e que “Masking Mode” esteja definido como “Inpaint Masked”.

Recomendado:  Como funcionam as casas inteligentes?

Agora que discutimos as configurações, vamos fazer minério de diamante. Usaremos hexagonal blue diamonds embedded in stone, photorealistic, vibrant para nosso prompt. Em seguida, basta pegar o cursor e desenhar onde deseja que os diamantes apareçam na superfície da pedra. A área que você selecionou ficará totalmente preta.

Regiões mascaradas onde os diamantes serão gerados.

Depois de terminar o mascaramento, clique em “Gerar”. Vamos com o resultado médio-inferior.

Observe a grade quadrada que está visível? Isso ocorre porque escolhemos uma textura mais escura nas bordas externas e mais brilhante no centro. Você precisa tentar evitar isso, pois parecerá estranho no jogo.

Uma imagem lado a lado mostrando seis possíveis texturas de minério de diamante.

Clique em “Salvar” novamente para ter certeza de não perder nenhum resultado desejado.

Repita este processo para quantos minérios ou blocos desejar substituir. Estamos substituindo carvalhos, pedras, minério de diamante e terra. Aqui estão as seleções finais de textura que fizemos abaixo:

As quatro texturas que geramos: minério de diamante, carvalho, terra e pedra.

Transformando as texturas em um pacote de recursos para Minecraft

Depois de gerar todas as texturas desejadas, mova-as da pasta de saída do Stable Diffusion para a pasta “block” na pasta do pacote de texturas em sua área de trabalho. A pasta de saída padrão do Stable Diffusion está localizada em “C:\stable-diffusion-webui-master\outputs\” no seu computador. Existem duas pastas importantes: txt2img e img2img. Qualquer coisa que você gerar apenas com um prompt estará em txt2img, enquanto qualquer coisa que você pintar estará em img2img.

Cada textura que você move precisa ser renomeada de acordo com a textura que você deseja substituir. Por exemplo, a textura da pedra foi renomeada como “stone.png”.

Você sempre pode verificar 1.19.2.jar para descobrir o nome de cada textura.

Também precisamos reduzir um pouco essas imagens, já que atualmente elas são um pouco grandes. Clique com o botão direito na textura, passe o mouse sobre “Abrir com” e selecione GIMP. Dê ao GIMP um segundo para iniciar e importar sua textura, clique em “Imagem” na barra de menu na parte superior e selecione “Escala de imagem”.

Clique em “Imagem” e depois em “Escala de imagem” para alterar o tamanho da textura.

Você pode reduzi-lo tanto quanto desejar — o padrão do Minecraft é 16×16 pixels — mas só reduziremos para 128×128 para preservar os detalhes. Insira as dimensões desejadas e clique em “Escala”.

Mantenha sua imagem quadrada. 16×16, 32×32, 64×64, 128×128 e assim por diante.

Torne a textura menor que 512x512.  128x128 é um bom tamanho.  Em seguida, clique em “Escala”.

Você notará imediatamente que sua imagem está bem menor do que era antes. Clique em “Arquivo” no canto superior esquerdo e clique em “Substituir stone.png”.

Clique em “Arquivo” e depois em “Substituir stone.png”.

Repita o processo para todas as texturas que deseja substituir.

A parte difícil acabou. A última coisa que precisamos fazer é gerar um arquivo que informe ao jogo que as imagens que fornecemos serão usadas como um pacote de recursos do Minecraft. Clique com o botão direito no espaço vazio, passe o mouse sobre “Novo” e clique em “Documento de texto”. Você poderá digitar um nome imediatamente. Vá até o final da linha — além da extensão do arquivo “.txt” — e limpe tudo e digite:

pacote.mcmeta

Crie um arquivo de texto chamado “pack.mcmeta” na sua pasta de texturas.

Em seguida, pressione a tecla Enter. Você receberá um aviso sobre fazer isso. Normalmente o aviso está correto; renomear extensões de arquivo aleatoriamente é uma má prática. Neste caso, porém, isso não importa em nada. Basta clicar em “Sim”.

Clique em sim.

É claro que o Windows não tem absolutamente nenhuma ideia do que é um arquivo “.mcmeta”, a menos que você já tenha mexido nos arquivos do Minecraft antes, então ele não saberá como abri-lo. Clique duas vezes no arquivo “.mcmeta” e abra-o com o Visual Studio Code ou qualquer editor de texto de sua escolha.

Recomendado:  Como pedir quase tudo da Amazon usando o Amazon Echo

O bloco de notas funcionará facilmente, mas existem programas melhores.

Abra o arquivo MCMETA com Visual Studio Code.

Abra o arquivo MCMETA e cole o seguinte conteúdo em:

{

"pacote": {

"formato_pacote": 9,

"description": "Pacote de textura do Minecraft com exemplo de How-to Geek"

}

}

"pack_format:" : 9, linha é significativa. Ele permite que o Minecraft saiba para qual versão do jogo seu pacote de recursos foi projetado. Aqui está um gráfico útil se você estiver modificando uma versão diferente do Minecraft:

Versão do Minecraft

Número do formato do pacote

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

Depois de colar as linhas necessárias, pressione Ctrl+S ou clique em Arquivo > Salvar no canto superior esquerdo. Você terminou de editar o arquivo, então feche seu editor de texto.

Selecione “pack.mcmeta” e a pasta “assets”, clique com o botão direito em qualquer uma delas, passe o mouse sobre 7-Zip e clique em “Adicionar ao YOURFOLDERNAME.zip”. Não o adicione acidentalmente a um arquivo “.7z”.

Segure Ctrl enquanto clica para selecionar vários itens.

Selecione a pasta de ativos e o arquivo MCMETA, clique com o botão direito e clique em "Adicionar a HTGExampleTextures.zip"

Copie e cole o arquivo ZIP que você acabou de criar na pasta do pacote de recursos do Minecraft. Por padrão, ele está localizado em “C:\Users\ (YourUserName) \AppData\Roaming\.Minecraft\resourcepacks” — embora isso possa ser diferente se você o instalar em outro lugar.

Você está pronto para ir. Inicie o Minecraft, vá para Opções > Pacotes de recursos e selecione o pacote que você acabou de criar.

Clique em HTGExampleTextures.zip na página "Selecionar pacotes de recursos" para trocar as texturas vanilla por nossas texturas.

Quando você carrega em qualquer mundo, suas texturas substituirão as texturas vanilla correspondentes. Aqui estão eles, em uma fileira:

Nossas texturas exibidas no Minecraft.  Da esquerda para a direita: Pedra, Sujeira, Minério de Diamante, Carvalho.

A Difusão Estável reduz enormemente o tempo necessário para criar uma nova textura, mesmo que você precise fazer uma pequena correção em algumas texturas.

Por exemplo, a textura da nossa base de pedra é um pouco escura. Você pode consertar algo assim facilmente importando-o para o GIMP ou Photoshop e iluminando-o um pouco. Poderíamos criar rapidamente uma variante de carvalho escuro acessando o GIMP e deixando um pouco os destaques na textura de carvalho que já fizemos. Não leva mais do que alguns minutos — no máximo — quando você se sentir confortável usando um editor de fotos.

As entidades são mais difíceis de retexturizar devido às suas geometrias mais complexas. No entanto, a Difusão Estável pode ser facilmente usada para gerar peles, metais, texturas de madeira, texturas de pele e basicamente qualquer outra coisa que você precisar. A dificuldade adicional é o desembrulhamento UV das texturas, para que sejam aplicadas corretamente aos modelos.

E isto é apenas o começo. Os esforços da comunidade já levaram à criação de ferramentas que podem usar IA para gerar novas texturas contínuas sob demanda no Blender . Não há como saber com certeza como será o futuro da arte gerada por IA , mas a comunidade modding e DIY certamente continuará a fazer coisas extraordinárias com ela.