Uma cena Blender que viaja com seus recursos.
Para transferir uma cena Blender, reúna suas dependências em torno do projeto, torne os caminhos transportáveis e verifique a cópia em um local que não consiga recuperar as fontes antigas. O arquivo .blend sozinho não é prova de pasta completa. Nosso pacote original Pli coloca esse método em prática com um frasco de cerâmica, uma textura distribuível e uma verificação independente do Blender.
Pli — pasta Blender portátil
Gerador original para Blender 4.5.x LTS, textura procedural, receita, licença, manifesto e ficha de recepção. Nenhum .blend nem render é fornecido: eles ficam para reconstruir e verificar com o Blender.
O que foi verificado
- Validação dos arquivos a partir de um ZIP extraído, com acesso às fontes originais recusado.
- Textura ausente, textura alterada e caminho externo detectados; ficha preenchida em uma cópia aceita.
- Blender, render por CPU, render por GPU e aparência da cena: não executados ou não controlados.
O projeto Pli: uma receita de cena, com um escopo preciso
Pli é um frasco fictício imaginado para este exercício: corpo roxo com arestas suaves, colarinho laranja acetinado, etiqueta com chevrons e base de argila. O gerador prevê uma luz de estúdio e uma composição que deixa espaço à esquerda. Ele constrói os objetos e os materiais; a única imagem externa é um padrão PNG original de 512 × 512 pixels, acompanhado do programa que o recria. Nenhum modelo, HDRI, fonte ou arquivo de cliente é necessário.
O alvo é o Blender 4.5.x LTS com Cycles. A pasta se refere a uma imagem fixa, sem simulação nem extensão. O gerador recusa outra ramificação do Blender para que essa escolha permaneça explícita. Um Python 3.10 ou mais recente basta para a verificação dos arquivos; para construir a cena, é preciso o Python integrado ao Blender.
Pli fornece um gerador a ser executado com o Blender 4.5.x LTS. Os arquivos e os casos de erro foram verificados no Python 3.14.6; a criação da cena, sua abertura e sua renderização ainda precisam ser testadas no Blender. Nenhum arquivo .blend nem renderização é fornecido.
Antes da cópia, decida o que o projeto deve reproduzir
Comece identificando o entregável: imagem fixa, animação ou série de variantes. Anote o software e sua versão, o motor, a câmera ativa, a cena, as dimensões e os parâmetros de qualidade. Para uma animação, acrescente a cadência e os limites inclusivos. Uma cena que abre não reproduz necessariamente as mesmas texturas, os mesmos caches ou o enquadramento correto.
Trabalhe em uma versão congelada e conserve os originais. Separe os recursos utilizados das pesquisas abandonadas; duas texturas quase homônimas podem explicar uma diferença de material. Verifique também os direitos de transferência dos modelos, imagens e bibliotecas. O pacote Pli fornece uma licença MIT para seus próprios scripts, documentos, padrão e geometria descrita; suas adições podem ter outras condições.
No Pli, scene.json desempenha o papel de ficha de partida: versão alvo, inventário dos dez objetos, dependência gráfica, motor, imagem 1 e destinos das saídas. Ele também indica o que não existe neste projeto: bibliotecas vinculadas, fontes, caches e animação. Uma ausência declarada evita tomar uma pasta vazia por um recurso esquecido.
Uma estrutura em que cada arquivo tem um papel
Mantenha uma raiz versionada, aqui blender-v1, e extraia o arquivo antes de trabalhar. A separação abaixo permite encontrar a fonte de uma imagem, o projeto editável e o resultado a entregar. Ela não impõe uma convenção universal: adote sobretudo nomes que a pessoa que retomar a pasta entenda sem seu histórico de mensagens.
As fontes distribuídas constam em manifest.sha256.json com seu tamanho e sua impressão digital. O manifesto se exclui para evitar uma referência circular. Os futuros .blend, PNG e relatórios são saídas: eles deverão entrar no seu próprio inventário de entrega após a validação.
| Local | Conteúdo | Verificação a reter |
|---|---|---|
| 01_sources | Programa original do padrão | Permite reconstruir a textura sem Blender |
| 02_projet | Destino do .blend | Nenhum .blend fornecido antes da reconstrução |
| 03_ressources | pli-chevron.png, cor de base sRGB | Arquivo externo conservado e previsto para incorporação |
| 04_caches | Nota de escopo | Nenhuma simulação para esta imagem fixa |
| 05_rendus | Destino das imagens | Nenhuma renderização de CPU ou GPU entregue |
| 06_livraison | Modelo de recebimento e futuros relatórios | Copie o modelo antes de preenchê-lo |
Verificar o ZIP extraído antes de abrir o Blender
A partir da raiz da pasta extraída, execute o validador com um Python independente. Ele compara treze arquivos com o manifesto, verifica a receita, os caminhos e o PNG e, em seguida, analisa a sintaxe de quatro scripts. O resultado esperado para o pacote íntegro é ok: true e um código de saída 0. Essa verificação não importa bpy e não produz nenhuma imagem 3D.
Nossos testes partem do ZIP extraído em outro local. O processo de verificação só autoriza leituras nessa cópia e no diretório do Python utilizado; uma tentativa de acessar a receita original é explicitamente recusada. O sucesso não depende, portanto, de uma textura encontrada silenciosamente na pasta de criação.
Um código 1 obriga a ler a lista de erros. Não reescreva as impressões digitais para fazer desaparecer um aviso. Retome o arquivo intacto ou crie uma versão de trabalho separada se quiser modificar a cena. Uma impressão digital idêntica prova a integridade do arquivo em relação ao manifesto, não sua qualidade visual nem a identidade de seu autor.
python validate_pack.py --root . --jsonReconstruir o frasco e solicitar uma pequena renderização por CPU
O comando a seguir é o procedimento a executar em uma máquina com Blender 4.5.x LTS; ele não foi executado durante esta preparação. Execute-o em um processo dedicado: o script parte de uma cena vazia. No Windows, se blender não estiver no PATH, use o caminho completo do executável; no PowerShell, preceda esse caminho entre aspas com &.
O gerador controla primeiro o pacote, cria os objetos, carrega a textura a partir da cópia, incorpora-a e salva 02_projeto/renderparcel_pli_v1.blend. O arquivo salvo prevê Cycles CPU, 1200 × 750 pixels, 64 amostras e a imagem 1. A opção --render-preview solicita em seguida um PNG de 480 × 300 pixels e 16 amostras, sem desnonoise. Esses números são ajustes, não medições de desempenho.
O relatório reconstruction.json é gravado após as operações bem-sucedidas e indica se a renderização foi realmente executada. Para construir apenas o .blend, remova -- --render-preview. O script recusa sobrescrever saídas existentes: uma segunda tentativa é feita em uma nova extração. A opção --python-exit-code 1 permite identificar uma exceção do script pelo código de saída do processo.
blender --background --factory-startup --python-exit-code 1 --python generate_scene.py -- --render-previewCaminhos relativos: descrever a posição sem esquecer a cópia
No Blender, um caminho que começa com // se refere ao local do .blend. Como o projeto Pli estará em 02_projeto, sua textura pode ser designada por //../03_ressources/pli-chevron.png. A pasta de recursos viaja com ele. O gerador, no entanto, começa por um caminho absoluto resolvido na cópia, incorpora a imagem e depois grava o caminho relativo antes de salvar.
Para um projeto existente, salve primeiro o .blend na pasta de transferência. Em File → External Data, Make Paths Relative transforma as referências; essa operação não copia os recursos. Report Missing Files ajuda a localizar links quebrados. Find Missing Files procura os arquivos na pasta selecionada e pode reparar as referências em caminhos absolutos: verifique-as novamente antes de transferir.
Não confunda «encontrado nesta máquina» com «presente na pasta». Uma textura ainda acessível em Downloads pode mascarar o esquecimento. Após a cópia, abra o projeto em um ambiente em que esse antigo local não possa mais satisfazer o link, mantendo uma cópia de segurança independente.
Incorporar os recursos elegíveis, inventariar os demais
O Pack Resources permite incluir os recursos elegíveis no .blend; salvar torna essa operação efetiva no arquivo transmitido. Isso não reúne todas as dependências: os vídeos são um contraexemplo documentado. As bibliotecas vinculadas têm um comando de incorporação separado. Faça, portanto, a lista do que está incorporado e do que deve permanecer ao lado do projeto.
Para Pli, manter o PNG externo facilita sua modificação, enquanto sua incorporação deve permitir reencontrar o padrão no arquivo salvo. Após modificar a textura, é preciso atualizar o recurso efetivamente usado e depois salvar a versão correta. A simples substituição de um PNG vizinho não demonstra que o .blend usa seus novos pixels.
| Recurso | Escolha do pacote | Se você ampliar a cena |
|---|---|---|
| Padrão PNG | Fonte separada e incorporação prevista | Recarregar a textura modificada, verificar e salvar |
| Geometria e materiais procedurais | Construídos pelo script | Conservar a versão do script ou o projeto editado |
| Biblioteca .blend vinculada | Nenhuma | Inventariar a biblioteca e suas próprias dependências |
| Vídeo, som ou cache | Nenhum | Conservar e controlar os arquivos externos necessários |
Reabrir em um segundo processo e preencher uma recepção real
Após uma reconstrução bem-sucedida, o inspect_scene.py abre o .blend em um segundo processo Blender, com a execução de seus scripts internos desativada. Ele controla o inventário, a câmera, as configurações de saída, a transformação AgX, a textura incorporada e seu caminho relativo. Seu relatório descreve a abertura e os dados; ele não atesta a qualidade do render.
Abra o PNG obtido em um visualizador de imagens. Verifique que o frasco permanece inteiramente no enquadramento, que o rótulo mostra o padrão creme, violeta e laranja, que o contato com a base é legível e que nenhuma textura magenta aparece. Esses critérios são intenções de recepção; não publicamos uma imagem de referência Blender calculada para este pacote.
Copie 06_livraison/modele-reception.csv para 06_livraison/reception-executee.csv e depois preencha essa nova ficha. Mantenha o modelo intacto: ele pertence ao manifesto. O validador aceita a cópia preenchida sem modificar as impressões digitais das fontes, o que nosso teste de recepção verificou. Inventarie em seguida essa ficha e as saídas aprovadas em seu arquivo de entrega.
blender --background --factory-startup --python-exit-code 1 --python inspect_scene.pyUma dependência ausente deve interromper o controle
O exercício negativo do pacote remove pli-chevron.png de uma cópia de teste, sem tocar nas fontes. O validador retorna então um código 1 e identifica tanto o arquivo ausente do inventário quanto a dependência ausente da receita. O gerador começa por esse mesmo controle: ele deve recusar prosseguir com essa cópia incompleta.
Outro teste altera o primeiro byte do PNG; o controle detecta uma impressão digital diferente e uma assinatura de imagem inválida. Um terceiro substitui seu caminho por uma referência fora da pasta, também recusada. Esses testes verificam defeitos concretos de transferência. Eles não simulam nem a abertura Blender nem o desaparecimento de um cache em uma animação.
Para refazer o exercício, trabalhe apenas em uma extração adicional e conserve uma cópia intacta. A correção consiste em reencontrar o recurso correto e seu local esperado. Uma textura diferente com o mesmo nome não satisfaz o controle de integridade.
Adicionar uma animação muda o perímetro de controle
A cena Pli tem apenas uma imagem e não precisa de nenhum cache. Se você adicionar fumaça, tecido ou uma simulação, documente o tipo de cache, sua versão de cálculo, seu local e toda a faixa útil. Os mecanismos de pré-cálculo dependem do sistema físico; não generalize o comportamento de um cache para todos os outros.
Congele o resultado antes de copiá-lo. Para uma sequência, controle o início, o fim, as mudanças de cenário ou de simulação, mas também a presença de cada arquivo intermediário. Três imagens visualmente corretas não provam que os 96 arquivos de uma animação de 1 a 96 estão disponíveis. Indique claramente se um cache é entregue ou deve ser recalculado, com quais parâmetros e quais entradas.
Aplique a mesma lógica às sequências de texturas, volumes, sons e mídias de montagem. Não exclua as únicas fontes após a criação do ZIP: conserve-as até a abertura da cópia, a conferência das saídas e a recuperação delas.
Cor, memória e duração: medir o projeto real
O padrão Pli serve para a cor base e é declarado sRGB. Um mapa que descreve normais ou deslocamento não tem o mesmo papel; sua interpretação deve corresponder aos seus dados. Mantenha também a transformação de exibição e a exposição ao comparar as saídas. Uma diferença de cor pode vir da cadeia de exibição, sem relação com a potência de cálculo.
O peso do ZIP não indica a necessidade de memória de GPU. A geometria avaliada, as texturas realmente carregadas e as etapas da renderização contam mais do que o número de arquivos em um arquivo compactado. Uma pequena prévia em CPU não prevê nem o pico de memória nem a duração da renderização final em GPU. Meça uma saída completa representativa na definição final antes de escolher uma configuração.
O atelier 3D ajuda a delimitar esse controle. Depois, compare as configurações de GPU conforme a compatibilidade e o pico observado, com uma margem adequada ao projeto. Escolha 3, 7 ou 30 dias no configurador para cobrir abertura, testes, retornos, cálculos e recuperação; nenhuma dessas janelas garante por si só um prazo de renderização. O guia de exportação prolonga o trabalho até os arquivos finais.
O que foi verificado, e o que ainda falta executar
Os sete controles abaixo foram executados no Windows com Python 3.14.6. O pacote contém quatorze arquivos, incluindo o manifesto; treze arquivos são cobertos por suas impressões digitais. A textura foi reconstruída e comparada byte a byte nesse ambiente. Essa igualdade do PNG não demonstra identidade de render 3D entre versões ou hardwares.
Os controles abrangem os arquivos, suas dependências e os erros de transferência. A geração do .blend, a inspeção da cena e os renders em CPU ou GPU não foram testados. O README apresenta o procedimento para verificá-los no Blender 4.5.x LTS.
| Teste | Resultado | Escopo |
|---|---|---|
| ZIP extraído, originais inacessíveis | Código 0 | Integridade, receita, PNG e sintaxe Python |
| Cópia da ficha e depois digitação | Código 0 | As fontes permanecem controladas após o recebimento |
| Textura removida de uma cópia | Código 1 esperado | Dependência ausente identificada |
| Textura alterada | Código 1 esperado | Impressão digital e assinatura PNG rejeitadas |
| Caminho fora da pasta | Código 1 esperado | Referência externa rejeitada |
| Reconstrução do padrão | Bytes idênticos | Textura procedural, não render Blender |
| Gerador executado somente por Python | Recusa esperada | Blender necessário, nenhuma execução bpy |
Para avançar no seu projeto.
Suas dúvidas.
Por que o pacote ainda não contém um arquivo .blend?+
O pacote fornece o gerador original e seus recursos. A criação e a abertura da cena ainda precisam ser testadas: nenhum .blend nem render é fornecido. Em uma máquina equipada com Blender 4.5.x LTS, o README explica como criar o .blend e depois inspecioná-lo em um segundo processo.
Um .blend com recursos incorporados pode substituir toda a pasta?+
Isso depende dos dados utilizados. Alguns recursos podem ser incorporados; outros, especialmente vídeos, permanecem externos. Mantenha um inventário explícito e controle as dependências da sua própria cena. O pacote Pli mantém sua textura de origem para permitir as modificações.
Por que o manifesto sinaliza minhas modificações como um erro?+
Ele descreve os arquivos distribuídos na versão 1.0.0. Modificar um script, uma receita ou uma textura normalmente altera sua impressão digital. Trabalhe em uma nova versão e monte seu inventário. Para a recepção, copie o modelo CSV para reception-executee.csv: essa saída permanece distinta do modelo controlado.
Este pacote permite escolher diretamente uma placa de GPU?+
Não. Ele serve para preparar e controlar uma transferência. Nenhuma necessidade de VRAM nem tempo de GPU foi medido para esta cena. Teste sua produção completa, sua compatibilidade e seu pico de memória antes de dimensionar a locação.