CommunityImagemgithub.com

choobi-doobi/photoreal-asset

Crie ativos Blender fotorrealistas a partir de fotos de referência com um construtor e um crítico de fotos independente. Opcionalmente, prepare texturas assadas, LODs e colisão para Godot ou Unreal Engine. Use para props fotorrealistas, cenas e refinamento orientado por referência no Blender. Inicie outra rodada de refinamento somente quando o usuário solicitar.

O que é photoreal-asset?

Esta skill permite a criação de ativos 3D fotorrealistas no Blender a partir de fotos de referência, utilizando um fluxo de trabalho estruturado que inclui um construtor dedicado e um crítico de fotos independente, garantindo alta fidelidade visual. Ela suporta a exportação opcional para mecanismos de jogo como Godot e Unreal Engine, incluindo texturas assadas, LODs e colisão. O processo é dividido em etapas claras: pesquisa inicial, construção da geometria, revisão crítica com comparação visual, e refinamento por rodadas, sempre iniciado sob demanda do usuário. A skill é agnóstica em relação ao agente ou modelo, requer apenas uma instalação do Blender e utiliza scripts Python para automação de renderização e validação de ativos.

Funciona com✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/choobi-doobi/skill-blender-photoreal-asset/tree/HEAD

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

Ativo fotorrealista

Pesquise um briefing, execute uma construção solo, compare com fotos e relate o resultado. Use o Blender instalado e as ferramentas de agente disponíveis no host; nenhum provedor de agente específico, modelo, caminho de instalação do Blender ou localização do projeto é necessário.

Configuração

  • Resolva {SKILL} para o diretório que contém este arquivo e {SCRIPTS} para o diretório scripts/ dele. Resolva {PROJECT} para o diretório do projeto escolhido pelo usuário. Coloque caminhos entre aspas nos comandos. Exemplos usam barras normais, que o Python aceita no Windows, macOS e Linux.
  • Use Python 3 com numpy e Pillow (python -m pip install -r "{SKILL}/requirements.txt"). SciPy é opcional e acelera as verificações de UV. O Blender usa seu Python empacotado para scripts bpy.
  • Encontre blender no PATH, ou defina PHOTOREAL_BLENDER para o caminho completo do executável, sem aspas ao redor no valor. Use esse mesmo executável para scripts de construção e o harness. Verifique sua versão e adapte o código de construção à API bpy suportada; não assuma uma versão fixa.
  • Cycles seleciona um backend de GPU disponível e recai para CPU. Defina PHOTOREAL_CYCLES_DEVICE para CPU, OPTIX, CUDA, HIP, METAL ou ONEAPI para substituir a seleção automática. Execute renders sequencialmente. Uma fila opcional externa gpu_slot.py pode ser fornecida através de PHOTOREAL_GPU_TOOLS; não está incluída nem é obrigatória.
  • Caminhos em asset.json são relativos a esse arquivo. Um hdri vazio usa um céu diurno procedural; caso contrário, aponte para um HDRI existente. Mantenha a iluminação e as câmeras fixas assim que a construção começar.
  • A entrega padrão é um .blend editável com imagens empacotadas e renders de revisão. Adicione exportações de jogo somente quando solicitado, seguindo templates/GAME_READY.md.

Layout do projeto

<projeto>/
  asset.json          câmeras, iluminação, prefixo da coleção e referências do crítico
  BRIEF.md            briefing de pesquisa mais o modelo preenchido RULES.md
  ref/SOURCES.md      proveniência das fotos; imagens de referência não são enviadas
  research/           layout.py, blockout.py, blockout.blend, NOTES.md
  rounds/r01-build/   TASK.md, build.py, NOTES.md, tex/, renders/, final/, DONE.txt
  <Titulo>.md         tabela de rodadas e registro do projeto

Use uma biblioteca de ativos existente se o usuário fornecer uma. Registre URLs de origem e licenças para imagens e texturas externas. Mantenha licenças desconhecidas marcadas como desconhecidas; não invente propriedade ou redistribua fotos de referência com o entregável.

1. Pesquisa

  1. Copie templates/asset.json para o projeto e adapte o assunto, collection_prefix, céu e chão. Enquadre uma visão heroica, lateral/frontal, três-quartos superior e close da parte mais difícil. Defina render_as, photo_kind e scope_note para o crítico.
  2. Preencha templates/TASK_research.md: {ASSET}, {PROJECT}, {PREFIX}, {SUBJECT_PLURAL}, {SKILL} e {SCRIPTS}. Salve como research/TASK.md. Execute um pesquisador através das ferramentas de agente do host, ou realize a pesquisa diretamente.
  3. Entregue fotos de referência com proveniência, BRIEF.md, research/layout.py com uma zona por parte e uma coleção proprietária, o blockout, e owner_refs / overall_refs em asset.json.
  4. Inspecione os renders do blockout com o visualizador de imagens do host. Ajuste as câmeras até que cada uma enquadre seu assunto, então trave-as.

Para uma folha de design fornecida, copie-a inalterada para ref/, registre a proveniência fornecida (desconhecida onde não especificada) e faça recortes de detalhes. Use suas vistas para as câmeras julgadas. Defina critic_goal quando corresponder a um design estilizado for o objetivo em vez de passar como uma fotografia; ajuste o texto da tarefa e quaisquer entregáveis extras de acordo.

2. Construção

  1. Crie rounds/r01-build/TASK.md a partir de templates/TASK_build.md. Preencha {ROUND}, {ASSET}, {PROJECT}, {ROUND_DIR}, {FILE} e {SCRIPTS}.
  2. Deixe {GAME_READY} vazio para um ativo apenas Blender. Caso contrário, insira o preenchido templates/GAME_READY.md, selecionando Godot, Unreal Engine ou ambos.
  3. Dê a tarefa a um construtor. Use o modelo atual a menos que o usuário solicite outro. Mantenha seu identificador de sessão se o host expuser um. Um construtor possui a geometria; críticos independentes apenas a revisam.

3. Revisão a cada rodada

  1. Renderize a cena final:
    python "{SCRIPTS}/run.py" --asset "{PROJECT}/asset.json" --parts "{ROUND_DIR}/final/{FILE}.blend" --out "{ROUND_DIR}/final/renders"
    
  2. Leia NOTES.md e o último critique.md. Inspecione recortes em resolução total das partes difíceis ao lado das fotos, incluindo recortes clareados onde útil. Contagens de severidade são ruidosas; use as diferenças visuais reais para julgar o progresso.
  3. Compare com a rodada anterior quando existir:
    python "{SCRIPTS}/compare_rounds.py" --asset "{PROJECT}/asset.json" --rounds <rodada-anterior> <rodada-atual> --focus <ids-zona> --refs "<foto>:x0,y0,x1,y1" --out "{PROJECT}/compare_rounds"
    
    Inspecione as folhas _all.jpg e _focus.jpg resultantes. Use os caminhos das rodadas esperados por compare_rounds.py --help.
  4. Para exportações de jogo, execute a validação específica do destino em GAME_READY.md. Não descreva uma importação do Unreal como validada pelo verificador GLB do Godot.
  5. Se transcrições suportadas estiverem disponíveis, opcionalmente execute:
    python "{SCRIPTS}/audit_round.py" "{ROUND_DIR}" --root "{PROJECT}"
    
    Esta auditoria entende logs do Antigravity e Claude Code, não todos os hosts. Passe --session para uma conversa do Antigravity e --allow para diretórios de ferramentas adicionais permitidos. Sua verificação de caminho de arquivo reconhece caminhos de disco do Windows; revise outros estilos de caminho separadamente. Raízes de log podem ser substituídas por PHOTOREAL_ANTIGRAVITY_LOGS e PHOTOREAL_CLAUDE_LOGS.
  6. Registre a rodada e relate imagens, melhorias, regressões, resultados de validação e uma recomendação. Relate custos apenas se medidos. Pare após a rodada solicitada; inicie outro refinamento apenas quando o usuário pedir. Copie ou ingira em uma biblioteca externa apenas quando esse destino e ação forem solicitados.

4. Refinar mediante solicitação

  1. Obtenha melhores fotos das partes nomeadas das vistas relevantes: sentado, vazio, lateral e do ângulo da câmera de julgamento. Registre a proveniência em ref/SOURCES.md.
  2. Coloque as referências mais fortes primeiro na lista owner_refs do proprietário; cada grupo recebe até seis.
  3. Copie os scripts de construção anteriores, tex/ e final/{FILE}.blend para uma nova pasta rounds/rNN-<foco>/. Preserve suas notas como NOTES_<anterior>.md, sua última verificação como renders/<anterior>_check/ e seus renders finais como renders/<anterior>_final/.
  4. Preencha templates/TASK_refine.md, incluindo as partes, IDs de zona e novas referências. Limite as alterações a essas partes, exceto defeitos de severidade 3 em outros lugares. Mantenha a regra de que as fotos vencem sobre posições e ângulos conflitantes, incluindo partes conectadas.
  5. Execute um construtor, revise como acima e mostre os resultados anterior e atual ao lado das fotos.

Transferência de agente e crítica independente

Use a interface de agente nativa do host em vez de assumir um nome de ferramenta ou alias de modelo. Dê ao pesquisador ou construtor seu diretório de trabalho e o arquivo de tarefa completo. Mantenha escritas dentro do diretório do projeto ou rodada atribuído. A tarefa termina escrevendo DONE.txt. Se a delegação do construtor não estiver disponível, construa diretamente preservando os mesmos limites de tarefa.

O crítico da Regra 11 deve ser independente do construtor. photo_check.py prepara prompts e um manifesto critic_jobs.json. Envie cada prompt para um revisor novo com permissão apenas de leitura de imagem/arquivo, sem ferramentas de rede ou edição, então salve sua resposta JSON no response_file do manifesto e mescle. Execute críticos concorrentemente apenas quando o host suportar, respeitando critic.parallel. Use o visualizador de imagens do host sempre que um prompt se referir a leitura de imagem/arquivo.

Se subagentes independentes não estiverem disponíveis, --runner claude pode usar um Claude Code CLI instalado e autenticado. Caso contrário, entregue os renders e os trabalhos de revisão preparados, e relate a crítica independente como incompleta. Não substitua a própria revisão do construtor e a chame de independente.

Verificações

ScriptPropósito
run.py / render.pyRenderizar coleções correspondentes ao prefixo na cena Cycles travada; escrever PNGs da câmera e sheet.jpg.
photo_check.pyRecortar zonas de layout, preparar trabalhos de crítico independente e mesclar respostas JSON em critique.md. --from reutiliza renders; --groups seleciona proprietários.
game_check.py / game_check_bl.pyValidar malhas LOD do Godot, UVs, colisão convexa e texturas GLB incorporadas; produzir um turntable de LOD. Veja GAME_READY.md para validação do Unreal.
compare_rounds.pyComparar rodadas e recortes focados com uma linha de referência.
audit_round.pyOpcionalmente inspecionar transcrições suportadas para acesso a arquivos, rodadas irmãs, chamadas web e uso medido de tokens.

Princípios de revisão

  • Melhores fotos da parte fraca geralmente ajudam mais do que adicionar regras ao briefing.
  • Compare cada refinamento com a rodada anterior: uma correção pode apagar melhorias anteriores.
  • Verifique reclamações de proporção com uma sobreposição de escala correspondente antes de alterar a geometria.
  • Cavidades escuras precisam de destaques visíveis nos lábios, espessura da parede e queda interna. Clarear é para inspeção apenas; mantenha a iluminação julgada fixa. Pule clarear quando isso cortar uma imagem de alto contraste.
  • Use críticas como uma lista de reparos dentro de uma rodada, não como uma pontuação numérica entre rodadas.

Habilidades Relacionadas