CommunityImagemgithub.com

TraX22/materiais-e-renderização-blender

Atribui materiais a objetos do Blender que realmente renderizam (Principled BSDF, vidro, metal, emissão, texturas procedurais), configura iluminação, mundo, câmera e configurações de renderização, e produz uma imagem final através de uma conexão Blender (o servidor oficial BlenderLab). Use quando o usuário pedir materiais, cores, texturas, iluminação, câmera ou uma renderização de uma cena do Blender, ou quando uma renderização sair preta, cinza, lisa ou ruidosa.

O que é materiais-e-renderização-blender?

Esta skill permite que você trabalhe diretamente em uma cena do Blender através da conexão BlenderLab (servidor oficial do Blender Lab). Ela é essencial para criar materiais realistas (usando o nó Principled BSDF para superfícies pintadas, metais, vidros, emissões, borracha, etc.), configurar iluminação (luzes de área, mundo com HDRI, backlight), posicionar a câmera e realizar renderizações de teste e finais. A skill lida com as diferenças críticas entre a visualização no viewport e a renderização final (por exemplo, cores definidas em `diffuse_color` não renderizam; é preciso usar o nó Principled BSDF). Ela suporta os motores EEVEE (para previews rápidas) e Cycles (para renders finais com iluminação precisa), e inclui orientações para solucionar problemas comuns como renderização preta, objetos cinzas, vidro opaco e cores lavadas. A skill também gerencia a criação de câmera com enquadramento adequado e sugere configurações de resolução e amostragem para renders eficientes.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TraX22/HydraOps-Skills/tree/HEAD/blender-materials-render

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Materiais, iluminação e renderização no Blender

Você trabalha no Blender do usuário através da conexão BlenderLab. A captura do viewport e a renderização final são coisas diferentes: a captura mostra qualquer modo de sombreamento que o viewport esteja usando; a renderização usa o mecanismo de renderização, as luzes e o mundo. A maioria dos problemas do tipo "parecia bom, mas a renderização está errada" vem disso.

Sua conexão Blender

Você trabalha através do BlenderLab, o servidor oficial do Blender Lab; suas ferramentas são blenderlab_…:

  • O que está na cena: get_objects_summary; um objeto em detalhes: get_object_detail_summary (por name). O arquivo, salvo ou não, e seu caminho: get_blendfile_summary_path_info.
  • Executar Python: execute_blender_code. Nada sobrevive entre chamadas (carregue seus auxiliares em cada script); o que o script imprime retorna, e um dicionário atribuído a result retorna como dados. Sua proteção recusa alguns operadores (sair do Blender, reset de fábrica).
  • Ver o viewport 3D: get_screenshot_of_area_as_image com area_ui_type: "VIEW_3D" (a janela inteira: get_screenshot_of_window_as_image); aponte para um objeto: jump_to_view3d_object_by_name.
  • Verificar a API Python: get_python_api_docs (um identificador como bpy.types.BevelModifier), search_api_docs; o manual: search_manual_docs.
  • Renderização rápida: render_thumbnail_to_path, render_viewport_to_path; a imagem vai para a pasta temporária do Blender e o resultado fornece o caminho real.
  • Exportar: código (bpy.ops.export_scene.gltf, bpy.ops.export_scene.fbx).
  • Bibliotecas de assets e geradores 3D: nenhum. Construa o objeto ou peça ao usuário um arquivo para importar.

Se essas ferramentas não estiverem disponíveis, pare e diga: o usuário precisa instalar a conexão BlenderLab (Ferramentas → Conexões), dá-la a este agente e ter o Blender aberto com o servidor do add-on iniciado. Não descreva o trabalho como feito quando você não pôde realizá-lo.

Ordem de trabalho

  1. Olhe: a ferramenta de cena; quais objetos, quais já têm materiais, há uma câmera, uma luz, um mundo? Leia bpy.app.version_string e o mecanismo de renderização atual.
  2. Materiais, um por superfície distinta, nomeados pelo que são (Oak_Wood, Brushed_Steel), reutilizados entre objetos.
  3. Luz e mundo antes de julgar qualquer material: um material não pode ser avaliado no escuro.
  4. Câmera: enquadrada no assunto, distância focal sensata.
  5. Renderização de teste pequena (25-50% da resolução, poucas amostras), olhe para ela, corrija.
  6. Renderização final para um arquivo e informe o caminho, mecanismo, resolução e tempo.

O código para cada etapa está em references/shading-and-render.md. Abra-o antes de escrever o primeiro script.

Materiais: o que dá errado

  • Cor definida no lugar errado. material.diffuse_color e object.color são apenas cores de exibição do viewport: elas não renderizam. A cor que renderiza é a entrada Base Color do nó Principled BSDF. Defina ambas se quiser que o modo sólido do viewport corresponda.
  • Nomes das entradas mudaram no Blender 4.0. Transmission se tornou Transmission Weight, Emission se tornou Emission Color, Specular se tornou Specular IOR Level, Clearcoat se tornou Coat Weight, Subsurface se tornou Subsurface Weight. Consulte uma entrada pelo nome e verifique se ela existe antes de defini-la; use a ferramenta de API da sua conexão quando estiver em dúvida.
  • Material criado, mas nunca atribuído. Acrescente-o a obj.data.materials; para materiais diferentes em partes de uma mesma malha, atribua polygon.material_index.
  • Encontre o nó pelo tipo, não pelo nome. O nó se chama "Principled BSDF" apenas em uma interface em inglês. Use next(n for n in nodes if n.type == 'BSDF_PRINCIPLED').
SuperfícieConfigurações do Principled BSDF
Pintada, plásticoBase Color; Roughness 0.3-0.6; Metallic 0
MetalMetallic 1.0; Base Color = a cor do metal; Roughness 0.15-0.5
VidroTransmission Weight 1.0; Roughness 0-0.05; IOR 1.45; precisa de um mundo ou luzes para ter o que refratar
BrilhanteEmission Color + Emission Strength (1-20)
Borracha, tecido, foscoRoughness 0.8-1.0
Pintura de carro, vernizCoat Weight 1.0; Coat Roughness 0.05

Metallic é 0 ou 1, quase nunca intermediário. Cores base preto puro (0, 0, 0) e branco puro (1, 1, 1) parecem erradas sob luz: fique dentro de cerca de 0.03-0.9.

Iluminação e mundo

  • Sem mundo e sem luz significa uma renderização preta, e vidro ou cromo renderizados contra um mundo vazio ficam pretos mesmo com luzes, porque não há nada para refletir ou refratar. Dê ao mundo uma cor e intensidade, ou um HDRI.
  • Um início confiável: uma luz de área grande como chave (45° para um lado e acima), um preenchimento mais fraco do outro lado, uma luz de contorno atrás e um mundo com baixa intensidade (0.2-0.5).
  • A potência da luz de área está em watts e precisa ser grande: uma luz de área de 1 m a 2 m de um objeto pequeno quer aproximadamente 100-500 W. A intensidade de um sol é diferente: 2-5.
  • Um plano de chão sob o objeto dá sombras de contato; sem ele, o objeto flutua.
  • Um HDRI fornece luz e reflexos realistas em uma única etapa. A conexão Blender (MCP for Blender) pode baixar um do Poly Haven: é conteúdo de terceiros e uma aprovação no HydraOps, então pergunte primeiro. No BlenderLab, peça ao usuário um arquivo HDRI.

Mecanismos

EEVEECycles
VelocidadeSegundosSegundos a minutos
Uso paraPreviews, estilizado, animaçãoFinais estáticos, vidro, luz precisa
CuidadosReflexões e refrações precisam de ray tracing ativado; sem ele, vidro e superfícies brilhantes parecem lisas ou granuladasRuído: aumente as amostras e mantenha a desnervação ativada; usa a GPU apenas se o usuário a configurou

O identificador do mecanismo para EEVEE difere por versão (BLENDER_EEVEE_NEXT em 4.2-4.5, BLENDER_EEVEE antes e depois): a referência mostra como defini-lo sem adivinhar. Não mude o dispositivo de renderização ou as preferências do usuário.

Câmera

  • Crie uma se não houver nenhuma e torne-a a câmera da cena; não mova uma câmera que o usuário já posicionou, a menos que solicitado.
  • Aponte-a com uma restrição Track To para o assunto ou para um vazio; 50-85 mm para objetos, 24-35 mm para salas e ambientes.
  • Verifique o enquadramento com uma pequena renderização de teste, não com a captura de tela do viewport (o viewport não é a câmera a menos que você mude para a visualização da câmera).

Renderização

  • Renderize para um arquivo com um caminho absoluto em uma pasta que o usuário possa encontrar (próximo ao .blend se estiver salvo, caso contrário, pergunte ou use a pasta temporária do usuário) e informe o caminho completo. Nunca sobrescreva um arquivo existente sem avisar. Faça isso com código (a referência tem): as próprias ferramentas de renderização do BlenderLab são para verificações rápidas e escrevem na pasta temporária do Blender qualquer caminho que você fornecer; informe o caminho que seus resultados nomeiam.
  • Teste pequeno primeiro. Uma renderização Cycles em resolução total pode levar minutos e bloqueia o Blender enquanto executa; avise o usuário antes de iniciar uma longa.
  • Veja o resultado antes de declarar sucesso: uma captura do viewport não mostra uma renderização. Se você não puder visualizar o arquivo renderizado, diga isso claramente e descreva o que configurou, em vez de descrever como a imagem "parece".
  • Gerenciamento de cor: a transformação de visualização padrão (AgX ou Filmic) dessatura cores fortes para realismo; para cores gráficas planas que devem corresponder exatamente, use Standard.

Solução de problemas

SintomaCausa usual
Renderização pretaSem luz e sem mundo; câmera dentro de um objeto; objeto oculto da renderização
Objeto cinza ou brancoMaterial não atribuído, ou cor definida em diffuse_color em vez de Base Color
Vidro pretoMundo vazio; no EEVEE, ray tracing desligado
Rosa ou magentaArquivo de textura de imagem ausente
GranuladoCycles: poucas amostras ou sem desnervador. EEVEE: ray tracing desligado ou sombras suaves com poucas amostras
Liso, sem profundidadeApenas uma luz de mundo: adicione uma luz chave e um plano de chão
Cores desbotadasTransformação de visualização: tente Standard, ou diminua a exposição
Superfícies curvas blocadasSombreamento plano: ative o sombreamento suave

Antes de dizer que está pronto

  • Cada objeto visível tem um material atribuído cujo Base Color está definido no nó.
  • Há uma luz ou um mundo iluminado, e uma câmera que enquadra o assunto.
  • Uma renderização foi gravada em um arquivo, e você forneceu o caminho, o mecanismo e a resolução.
  • Você alterou apenas o que foi solicitado: nenhum objeto deletado, nenhuma preferência alterada.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Habilidades Relacionadas