BlockReel skins
Trabalhe na pasta BlockReel ($BLOCKREEL_HOME, veja a skill blockreel de inicialização). Coloque cada skin em work/skins/<nome>/ (ignorada pelo git) ou films/<nome>/skins/. Nunca copie a skin de outra pessoa; pegue ideias, não pixels.
0. O usuário enviou uma skin
Use-a exatamente como foi enviada: copie-a para a pasta do filme, execute python core/skin.py validate (converta o formato legado 64x32 em um NOVO arquivo) e faça referência a ela em story.json. Nunca repinte a skin de um usuário a menos que ele peça. Só crie uma nova skin quando não houver nenhuma.
1. Briefing (no máximo uma pergunta curta)
Defina: o personagem (quem, papel, humor), o estilo e o modelo.
| Estilo | O que almejar |
|---|---|
| pixel art limpo | 3-4 rampas de tom por material, sem ruído, 1 px de realces/sombras, silhueta legível |
| cartoon | cores saturadas, 1 px de contorno mais escuro no rosto/bordas da sobreposição, olhos grandes e simples, blocagem de cores forte |
| realista | paleta dessaturada, ruído sutil (noise=0.03-0.05), dobras e costuras, variedade de materiais (pano, couro, metal) |
| anime | olhos grandes (use íris de 2 px + pixel de realce), cabelo pastel/saturado em 3 tons com um fio de realce, roupas simples |
classic = braços de 4 px (tipo Steve), slim = braços de 3 px. Se o usuário não disser, escolha classic e avise; ofereça a variante slim.
2. Pesquisa (web), escrita em research.md com links
Pesquise e leia: as regras de layout UV e de camadas da skin (Minecraft Wiki: Skin; o próprio mapa do repositório está em docs/SKINS.md/references/skin-layout.png), técnicas de sombreamento e paleta de pixel art (deslocamento de matiz, rampas, evitando pillow shading) e referências de estilo para o tipo de personagem. Registre: link, o que usará. Não copie skins ou arte de terceiros.
3. Plano de paleta
Escreva o plano antes de pintar: uma cor base por material e uma rampa de 3-4 tons a partir dela (skin.ramp(base, 4, hue_shift=0.04)): sombras ligeiramente mais frias, luzes ligeiramente mais quentes). Materiais típicos: pele, cabelo, duas cores de pano, couro, metal, botas, acento. Mantenha o total abaixo de ~24 cores; uma cor de acento é suficiente.
4. Pintar em camadas (core/skin.py SkinCanvas)
Primeiro a camada base (cabeça, corpo, braços, pernas), depois a camada de sobreposição (chapéu = volume de capuz/cabelo, jaqueta = capa/casaco, mangas, calças). Helpers úteis: shaded_box(part, ramp) (iluminado de cima/frente), rect, px, line, edge_light, clear e mirror_limbs() para pintar o lado direito e copiá-lo espelhado para a esquerda. Coordenadas relativas ao rosto: você nunca calcula posições do atlas manualmente. Regra facial para filmes BlockReel: mantenha os olhos na linha 4 (e sobrancelhas na linha 3) da face frontal, boca na linha 6, porque os estados faciais do motor (blink, wide, glow, lip-sync) repintam essas linhas e amostram a cor da pele das bochechas (linha 5). Comece a partir de examples/skin-demo/paint_skin.py e altere o plano de paleta e os blocos por parte.
5. Validar
python core/skin.py validate out.png: tamanho, modelo (classic/slim) e 0 pixels base transparentes (a camada base deve ser totalmente opaca no Java). python core/skin.py unwrap out.png parts/ se precisar de cada face como uma imagem separada.
6. Prévia e iteração (OBRIGATÓRIO, pelo menos 2 rodadas)
python tools/turntable.py skin.png --out tt.png [--pose idle|wave|stance] [--model slim] [--eyes wide --mouth smile]
Abra tt.png e veja todas as quatro vistas. Verifique: silhueta, rosto legível em escala de jogo, sobreposição de capuz/cabelo não flutuante, costuras e membros espelhados, costas e laterais não deixadas em branco, direção do sombreamento consistente, nada embaçado. Escreva o que está errado, corrija, renderize novamente. Mantenha a imagem de cada rodada (veja examples/skin-demo/iterations/). Não pare após uma renderização.
7. Exportar
PNG final (e o outro modelo, se solicitado: repinte com slim=True/False; não há conversão automática classic<->slim). Nomeie os arquivos <personagem>.png e <personagem>-slim.png. Verifique ambos com validate.
8. Instalação no jogo (informe ao usuário; você não testou)
- Edição Java: faça upload do PNG (64x64, ou 64x32 legado) na página de perfil do minecraft.net ou na aba Skins do Launcher e escolha braços de 3 px ou 4 px. Apenas contas que possuem o jogo podem alterar skins; jogadores em modo offline não podem usar uma skin personalizada sem mods. Fonte consultada: Minecraft Wiki: Skin. A página de ajuda da Mojang não pôde ser carregada quando este texto foi escrito, então verifique help.minecraft.net para os nomes de menu atuais.
- Edição Bedrock: um processo diferente (e o formato suporta templates maiores, e.g. 128x128, conforme a wiki). Não forneça etapas de Java para Bedrock; aponte o usuário para a página de ajuda atual da Mojang sobre Bedrock.
- Dentro de um filme BlockReel nada precisa ser instalado: faça referência ao PNG em
story.json.
Regras
- Nunca afirme que uma skin foi testada no jogo. Diga "validada e pré-visualizada no motor BlockReel".
- Nunca envie ou faça commit de skins de jogo ou skin de outra pessoa. A skin de demonstração do repositório é original (CC0).
- Se o usuário fornecer uma captura de tela de uma renderização 3D, ela não pode se tornar uma textura (
docs/SKINS.md); crie uma semelhante.