Una escena Blender que viaja con sus recursos.
Para transferir una escena Blender, reúne sus dependencias alrededor del proyecto, haz que las rutas sean transportables y controla la copia en una ubicación que no pueda encontrar las fuentes antiguas. El archivo .blend por sí solo no es prueba de una carpeta completa. Nuestro paquete original Pli pone en práctica este método con un frasco de cerámica, una textura distribuible y un control independiente de Blender.
Pli — carpeta Blender portátil
Generador original para Blender 4.5.x LTS, textura procedimental, receta, licencia, manifiesto y ficha de recepción. No se incluye ningún .blend ni render: quedan por reconstruir y verificar con Blender.
Lo que se ha verificado
- Validación de los archivos desde un ZIP extraído, con acceso a las fuentes originales denegado.
- Textura ausente, textura alterada y ruta externa detectadas; ficha completada sobre una copia aceptada.
- Blender, render CPU, render GPU y aspecto de la escena: no ejecutados o no controlados.
El proyecto Pli: una receta de escena, con un alcance preciso
Pli es un frasco ficticio ideado para este ejercicio: cuerpo violeta de aristas suaves, gollete naranja satinado, etiqueta con cheurones y base de arcilla. El generador prevé una luz de estudio y una composición que deja espacio a la izquierda. Construye los objetos y los materiales; la única imagen externa es un motivo PNG original de 512 × 512 píxeles, acompañado del programa que lo recrea. No se necesita ningún modelo, HDRI, fuente ni archivo de cliente.
El objetivo es Blender 4.5.x LTS con Cycles. La carpeta corresponde a una imagen fija, sin simulación ni extensión. El generador rechaza otra rama de Blender para que esta elección quede explícita. Un Python 3.10 o posterior basta para el control de los archivos; para construir la escena, hace falta el Python integrado en Blender.
Pli incluye un generador que se ejecuta con Blender 4.5.x LTS. Los archivos y los casos de error se controlaron con Python 3.14.6; la creación de la escena, su apertura y su renderizado quedan por probar en Blender. No se incluye ningún archivo .blend ni renderizado.
Antes de la copia, decide qué debe restituir el proyecto
Empieza por identificar el entregable: imagen fija, animación o serie de variantes. Anota el software y su versión, el motor, la cámara activa, la escena, las dimensiones y los parámetros de calidad. Para una animación, añade la cadencia y los límites inclusivos. Una escena que se abre no restituye necesariamente las mismas texturas, los mismos cachés o el encuadre correcto.
Trabaja sobre una versión congelada y conserva los originales. Separa los recursos utilizados de las pruebas abandonadas; dos texturas casi homónimas pueden explicar una diferencia de material. Comprueba también los derechos de transferencia de los modelos, imágenes y bibliotecas. El paquete Pli ofrece una licencia MIT para sus propios scripts, documentos, motivo y geometría descrita; tus añadidos pueden tener otras condiciones.
En Pli, scene.json desempeña el papel de ficha de partida: versión objetivo, inventario de los diez objetos, dependencia gráfica, motor, imagen 1 y destinos de las salidas. También indica lo que no existe en este proyecto: bibliotecas vinculadas, fuentes, cachés y animación. Una ausencia declarada evita tomar una carpeta vacía por un recurso olvidado.
Una estructura de carpetas donde cada archivo tiene un rol
Mantén una raíz versionada, aquí blender-v1, y extrae el archivo antes de trabajar. La separación que aparece a continuación permite encontrar la fuente de una imagen, el proyecto modificable y el resultado que hay que entregar. No impone una convención universal: adopta sobre todo nombres que la persona que retome la carpeta entienda sin tu historial de mensajes.
Las fuentes distribuidas figuran en manifest.sha256.json con su tamaño y su huella. El manifiesto se excluye a sí mismo para evitar una referencia circular. Los futuros .blend, PNG e informes son salidas: deberán entrar en tu propio inventario de entrega tras la validación.
| Ubicación | Contenido | Control que recordar |
|---|---|---|
| 01_sources | Programa original del motivo | Permite reconstruir la textura sin Blender |
| 02_projet | Destino del .blend | Ningún .blend incluido antes de la reconstrucción |
| 03_ressources | pli-chevron.png, color base sRGB | Archivo externo conservado y previsto para su incorporación |
| 04_caches | Nota de alcance | Ninguna simulación para esta imagen fija |
| 05_rendus | Destino de las imágenes | Ningún renderizado por CPU o GPU entregado |
| 06_livraison | Plantilla de recepción y futuros informes | Copiar la plantilla antes de rellenarla |
Verificar el ZIP extraído antes de ejecutar Blender
Desde la raíz de la carpeta extraída, ejecuta el validador con un Python independiente. Compara trece archivos con el manifiesto, verifica la receta, las rutas y el PNG, y luego analiza la sintaxis de cuatro scripts. El resultado esperado para el paquete intacto es ok: true y un código de salida 0. Esta comprobación no importa bpy y no produce ninguna imagen 3D.
Nuestras pruebas parten del ZIP extraído en otra ubicación. El proceso de verificación solo autoriza lecturas en esa copia y en el directorio del Python utilizado; un intento de acceso a la receta original se rechaza explícitamente. El éxito no depende, por tanto, de una textura recuperada silenciosamente en la carpeta de creación.
Un código 1 obliga a leer la lista de errores. No reescribas las huellas para hacer desaparecer una advertencia. Vuelve a tomar el archivo intacto, o crea una versión de trabajo separada si deseas modificar la escena. Una huella idéntica demuestra la integridad del archivo respecto al manifiesto, no su calidad visual ni la identidad de su autor.
python validate_pack.py --root . --jsonReconstruir el frasco y solicitar un pequeño render de CPU
El siguiente comando es el procedimiento que debe ejecutarse en un equipo con Blender 4.5.x LTS; no se ejecutó durante esta preparación. Ejecútalo en un proceso dedicado: el script parte de una escena vacía. En Windows, si blender no está en el PATH, utiliza la ruta completa del ejecutable; en PowerShell, antepón & a esa ruta entre comillas.
El generador primero comprueba el paquete, crea los objetos, carga la textura desde la copia, la incorpora y guarda 02_proyecto/renderparcel_pli_v1.blend. El archivo guardado prevé Cycles CPU, 1.200 × 750 píxeles, 64 muestras y la imagen 1. La opción --render-preview solicita después un PNG de 480 × 300 píxeles y 16 muestras, sin eliminación de ruido. Estos números son ajustes, no mediciones de rendimiento.
El informe reconstruction.json se escribe tras las operaciones correctas e indica si el render se ejecutó realmente. Para construir únicamente el .blend, quita -- --render-preview. El script se niega a sobrescribir salidas existentes: un segundo intento se hace en una nueva extracción. La opción --python-exit-code 1 permite detectar una excepción del script mediante el código de salida del proceso.
blender --background --factory-startup --python-exit-code 1 --python generate_scene.py -- --render-previewRutas relativas: describir la posición sin olvidar la copia
En Blender, una ruta que empieza por // se refiere a la ubicación del .blend. Como el proyecto Pli estará en 02_proyecto, su textura puede designarse con //../03_ressources/pli-chevron.png. La carpeta de recursos viaja con él. No obstante, el generador empieza por una ruta absoluta resuelta en la copia, incorpora la imagen y luego escribe la ruta relativa antes de guardar.
Para un proyecto existente, guarda primero el .blend en la carpeta de transferencia. En File → External Data, Make Paths Relative convierte las referencias; esta operación no copia los recursos. Report Missing Files ayuda a localizar los enlaces rotos. Find Missing Files busca los archivos en la carpeta seleccionada y puede reparar las referencias como rutas absolutas: vuelve a comprobarlas antes de transferir.
No confundas «encontrado en este equipo» con «presente en la carpeta». Una textura todavía accesible en Descargas puede ocultar el olvido. Tras la copia, abre el proyecto en un entorno donde esa antigua ubicación ya no pueda satisfacer el enlace, conservando a la vez una copia de seguridad independiente.
Incorporar los recursos elegibles, inventariar los demás
Pack Resources permite incluir los recursos elegibles en el .blend; guardar hace efectiva esta operación en el archivo transmitido. Esto no reúne todas las dependencias: los vídeos son un contraejemplo documentado. Las bibliotecas vinculadas disponen de un comando de incorporación aparte. Haz, por tanto, la lista de lo que se incorpora y de lo que debe permanecer junto al proyecto.
Para Pli, conservar el PNG externo facilita su modificación, mientras que su incorporación debe permitir recuperar el motivo en el archivo guardado. Tras modificar la textura, hay que actualizar el recurso realmente utilizado y luego guardar la versión correcta. El simple reemplazo de un PNG cercano no demuestra que el .blend emplee sus nuevos píxeles.
| Recurso | Elección del pack | Si amplías la escena |
|---|---|---|
| Motivo PNG | Fuente separada e incorporación prevista | Recargar la textura modificada, verificar y guardar |
| Geometría y materiales procedurales | Construidos por el script | Conservar la versión del script o el proyecto editado |
| Biblioteca .blend vinculada | Ninguna | Inventariar la biblioteca y sus propias dependencias |
| Vídeo, sonido o caché | Ninguno | Conservar y controlar los archivos externos necesarios |
Reabrir en un segundo proceso y completar una recepción real
Tras una reconstrucción correcta, inspect_scene.py abre el .blend en un segundo proceso de Blender, con la ejecución de sus scripts internos desactivada. Controla el inventario, la cámara, los ajustes de salida, la transformación AgX, la textura incorporada y su ruta relativa. Su informe describe la apertura y los datos; no certifica la calidad del renderizado.
Abre el PNG obtenido en un visor de imágenes. Verifica que el frasco quede completamente dentro del encuadre, que la etiqueta muestre el motivo crema, violeta y naranja, que el contacto con la base sea legible y que no aparezca ninguna textura magenta. Estos criterios son intenciones de recepción; no publicamos ninguna imagen de referencia de Blender calculada para este pack.
Copia 06_livraison/modele-reception.csv a 06_livraison/reception-executee.csv y luego completa esta nueva ficha. Mantén la plantilla intacta: pertenece al manifiesto. El validador acepta la copia completada sin modificar las huellas de las fuentes, tal como verificó nuestra prueba de recepción. Inventaría después esta ficha y las salidas aprobadas en tu archivo de entrega.
blender --background --factory-startup --python-exit-code 1 --python inspect_scene.pyUna dependencia ausente debe detener el control
El ejercicio negativo del pack elimina pli-chevron.png de una copia de prueba, sin tocar las fuentes. El validador devuelve entonces un código 1 e identifica a la vez el archivo ausente del inventario y la dependencia faltante de la receta. El generador comienza por ese mismo control: debe negarse a continuar con esta copia incompleta.
Otro ensayo altera el primer byte del PNG; el control detecta una huella distinta y una firma de imagen no válida. Un tercero reemplaza su ruta por una referencia que sale de la carpeta, también rechazada. Estos ensayos verifican defectos concretos de transferencia. No simulan ni la apertura de Blender ni la desaparición de una caché en una animación.
Para rehacer el ejercicio, trabaja únicamente sobre una extracción adicional y conserva una copia intacta. La corrección consiste en recuperar el recurso correcto y su ubicación esperada. Una textura distinta con el mismo nombre no satisface el control de integridad.
Añadir una animación cambia el alcance del control
La escena Pli solo tiene una imagen y no necesita ningún caché. Si le añades humo, tela o una simulación, documenta el tipo de caché, su versión de cálculo, su ubicación y todo el rango útil. Los mecanismos de precálculo dependen del sistema físico; no generalices el comportamiento de un caché a todos los demás.
Congela el resultado antes de copiarlo. Para una secuencia, controla el inicio, el final, los cambios de decorado o de simulación, pero también la presencia de cada archivo intermedio. Tres imágenes visualmente correctas no demuestran que los 96 archivos de una animación de 1 a 96 estén disponibles. Indica claramente si un caché se entrega o debe recalcularse, con qué parámetros y qué entradas.
Aplica la misma lógica a las secuencias de texturas, volúmenes, sonidos y medios de montaje. No elimines las únicas fuentes después de crear el ZIP: consérvalas hasta abrir la copia, controlar las salidas y recuperarlas.
Color, memoria y duración: medir el proyecto real
El patrón Pli sirve para el color base y está declarado sRGB. Un mapa que describe normales o un desplazamiento no tiene el mismo rol; su interpretación debe corresponder a sus datos. Conserva también la transformación de visualización y la exposición al comparar las salidas. Una diferencia de color puede venir de la cadena de visualización, sin relación con la potencia de cálculo.
El peso del ZIP no indica la necesidad de memoria GPU. La geometría evaluada, las texturas realmente cargadas y las etapas del render cuentan más que el número de archivos de un archivo comprimido. Una pequeña previsualización en CPU no predice ni el pico de memoria ni la duración del render final en GPU. Mide una salida completa representativa a la definición final antes de elegir una configuración.
El taller 3D ayuda a encuadrar este control. Compara después las configuraciones GPU según la compatibilidad y el pico observado, con un margen adaptado al proyecto. Elige 3, 7 o 30 días en el configurador para cubrir apertura, pruebas, devoluciones, cálculos y recuperación; ninguna de estas ventanas garantiza por sí sola un plazo de render. La guía de exportación prolonga el trabajo hasta los archivos entregables.
Lo que se ha verificado, y lo que queda por ejecutar
Los siete controles siguientes se ejecutaron en Windows con Python 3.14.6. El paquete contiene catorce archivos, incluido el manifiesto; trece archivos están cubiertos por sus huellas. La textura se reconstruyó y se comparó byte por byte en este entorno. Esta igualdad del PNG no demuestra una identidad de render 3D entre versiones o hardware.
Los controles se centran en los archivos, sus dependencias y los errores de transferencia. La generación del .blend, la inspección de la escena y los renders en CPU o GPU no se han probado. El README indica el procedimiento para verificarlos en Blender 4.5.x LTS.
| Prueba | Resultado | Alcance |
|---|---|---|
| ZIP extraído, originales inaccesibles | Código 0 | Integridad, receta, PNG y sintaxis de Python |
| Copia de la ficha y luego entrada | Código 0 | Las fuentes siguen controladas tras la recepción |
| Textura retirada de una copia | Código 1 esperado | Dependencia ausente identificada |
| Textura alterada | Código 1 esperado | Huella y firma PNG rechazadas |
| Ruta que sale de la carpeta | Código 1 esperado | Referencia externa rechazada |
| Reconstrucción del patrón | Bytes idénticos | Textura procedural, no render de Blender |
| Generador lanzado solo por Python | Rechazo esperado | Se requiere Blender, ninguna ejecución de bpy |
Para avanzar en tu proyecto.
Recuperar los mismos colores
Distinguir datos, visualización y exportación para comparar las imágenes en el contexto correcto.
Leer el cuaderno Materias, luz e imagenEntregar pasadas aprovechables
Elegir las salidas útiles y controlar un archivo EXR en el software de destino.
Leer el cuadernoTus preguntas.
¿Por qué el paquete no incluye ya un archivo .blend?+
El paquete proporciona el generador original y sus recursos. La creación y apertura de la escena quedan por probar: no se incluye ningún .blend ni render. En un equipo equipado con Blender 4.5.x LTS, el README explica cómo crear el .blend y luego inspeccionarlo en un segundo proceso.
¿Puede un .blend con recursos incorporados sustituir toda la carpeta?+
Depende de los datos utilizados. Algunos recursos se pueden incorporar; otros, en particular vídeos, permanecen externos. Conserva un inventario explícito y controla las dependencias de tu propia escena. El paquete Pli conserva su textura fuente para permitir las modificaciones.
¿Por qué el manifiesto señala mis modificaciones como un error?+
Describe los archivos distribuidos en la versión 1.0.0. Modificar un script, una receta o una textura normalmente cambia su huella. Trabaja en una nueva versión y conforma su inventario. Para la recepción, copia la plantilla CSV a reception-executee.csv: esta salida queda distinta de la plantilla controlada.
¿Este pack permite elegir directamente una tarjeta GPU?+
No. Sirve para preparar y controlar una transferencia. No se ha medido ninguna necesidad de VRAM ni tiempo de GPU para esta escena. Prueba tu producción completa, su compatibilidad y su pico de memoria antes de dimensionar el alquiler.