Une scène Blender qui voyage avec ses ressources.
Pour transférer une scène Blender, rassemblez ses dépendances autour du projet, rendez les chemins transportables et contrôlez la copie dans un emplacement qui ne peut pas retrouver les anciennes sources. Le fichier .blend seul n’est pas une preuve de dossier complet. Notre pack original Pli met cette méthode en pratique avec un flacon en céramique, une texture distribuable et un contrôle indépendant de Blender.
Pli — dossier Blender portable
Générateur original pour Blender 4.5.x LTS, texture procédurale, recette, licence, manifeste et fiche de réception. Aucun .blend ni rendu n’est fourni : ils restent à reconstruire et vérifier avec Blender.
Ce qui a été vérifié
- Validation des fichiers depuis un ZIP extrait, avec accès aux sources d’origine refusé.
- Texture absente, texture altérée et chemin externe détectés ; fiche remplie sur une copie acceptée.
- Blender, rendu CPU, rendu GPU et apparence de la scène : non exécutés ou non contrôlés.
Le projet Pli : une recette de scène, avec un périmètre précis
Pli est un flacon fictif imaginé pour cet exercice : corps violet aux arêtes douces, collerette orange satinée, étiquette à chevrons et socle en argile. Le générateur prévoit une lumière de studio et une composition laissant de la place à gauche. Il construit les objets et les matériaux ; la seule image externe est un motif PNG original de 512 × 512 pixels, accompagné du programme qui le recrée. Aucun modèle, HDRI, police ou fichier client n’est nécessaire.
La cible est Blender 4.5.x LTS avec Cycles. Le dossier concerne une image fixe, sans simulation ni extension. Le générateur refuse une autre branche de Blender pour que ce choix reste explicite. Un Python 3.10 ou plus récent suffit au contrôle des fichiers ; pour construire la scène, il faut le Python intégré à Blender.
Pli fournit un générateur à exécuter avec Blender 4.5.x LTS. Les fichiers et les cas d’erreur ont été contrôlés sous Python 3.14.6 ; la création de la scène, son ouverture et son rendu restent à tester dans Blender. Aucun fichier .blend ni rendu n’est fourni.
Avant la copie, décider ce que le projet doit restituer
Commencez par identifier le livrable : image fixe, animation ou série de variantes. Notez le logiciel et sa version, le moteur, la caméra active, la scène, les dimensions et les paramètres de qualité. Pour une animation, ajoutez la cadence et les bornes inclusives. Une scène qui s’ouvre ne restitue pas forcément les mêmes textures, les mêmes caches ou le bon cadrage.
Travaillez sur une version figée et conservez les originaux. Séparez les ressources utilisées des recherches abandonnées ; deux textures presque homonymes peuvent expliquer une différence de matériau. Vérifiez aussi les droits de transfert des modèles, images et bibliothèques. Le pack Pli fournit une licence MIT pour ses propres scripts, documents, motif et géométrie décrite ; vos ajouts peuvent avoir d’autres conditions.
Dans Pli, scene.json joue le rôle de fiche de départ : version cible, inventaire des dix objets, dépendance graphique, moteur, image 1 et destinations des sorties. Il indique également ce qui n’existe pas dans ce projet : bibliothèques liées, polices, caches et animation. Une absence déclarée évite de prendre un dossier vide pour une ressource oubliée.
Une arborescence où chaque fichier a un rôle
Gardez une racine versionnée, ici blender-v1, et extrayez l’archive avant de travailler. La séparation ci-dessous permet de retrouver la source d’une image, le projet modifiable et le résultat à livrer. Elle n’impose pas une convention universelle : adoptez surtout des noms que la personne qui reprend le dossier comprend sans votre historique de messages.
Les sources distribuées figurent dans manifest.sha256.json avec leur taille et leur empreinte. Le manifeste s’exclut lui-même pour éviter une référence circulaire. Les futurs .blend, PNG et rapports sont des sorties : ils devront entrer dans votre propre inventaire de livraison après validation.
| Emplacement | Contenu | Contrôle à retenir |
|---|---|---|
| 01_sources | Programme original du motif | Permet de reconstruire la texture sans Blender |
| 02_projet | Destination du .blend | Aucun .blend fourni avant reconstruction |
| 03_ressources | pli-chevron.png, couleur de base sRGB | Fichier externe conservé et prévu pour incorporation |
| 04_caches | Note de périmètre | Aucune simulation pour cette image fixe |
| 05_rendus | Destination des images | Aucun rendu CPU ou GPU livré |
| 06_livraison | Modèle de réception et futurs rapports | Copier le modèle avant de le remplir |
Contrôler le ZIP extrait avant de lancer Blender
Depuis la racine du dossier extrait, lancez le validateur avec un Python indépendant. Il compare treize fichiers au manifeste, vérifie la recette, les chemins et le PNG, puis analyse la syntaxe de quatre scripts. Le résultat attendu pour le pack intact est ok: true et un code de sortie 0. Ce contrôle n’importe pas bpy et ne produit aucune image 3D.
Nos essais partent du ZIP extrait dans un autre emplacement. Le processus de vérification n’autorise les lectures que dans cette copie et dans le répertoire du Python utilisé ; une tentative d’accès à la recette d’origine est explicitement refusée. Le succès ne dépend donc pas d’une texture retrouvée silencieusement dans le dossier de création.
Un code 1 impose de lire la liste des erreurs. Ne réécrivez pas les empreintes pour faire disparaître un avertissement. Reprenez l’archive intacte, ou créez une version de travail séparée si vous souhaitez modifier la scène. Une empreinte identique prouve l’intégrité du fichier par rapport au manifeste, pas sa qualité visuelle ni l’identité de son auteur.
python validate_pack.py --root . --jsonReconstruire le flacon et demander un petit rendu CPU
La commande suivante est la procédure à exécuter sur un poste disposant de Blender 4.5.x LTS ; elle n’a pas été exécutée lors de cette préparation. Lancez-la dans un processus dédié : le script part d’une scène vide. Sous Windows, si blender n’est pas dans le PATH, utilisez le chemin complet de l’exécutable ; dans PowerShell, précédez ce chemin entre guillemets de &.
Le générateur contrôle d’abord le pack, crée les objets, charge la texture depuis la copie, l’incorpore et sauvegarde 02_projet/renderparcel_pli_v1.blend. Le fichier enregistré prévoit Cycles CPU, 1 200 × 750 pixels, 64 échantillons et l’image 1. L’option --render-preview demande ensuite un PNG de 480 × 300 pixels et 16 échantillons, sans débruitage. Ces nombres sont des réglages, pas des mesures de performance.
Le rapport reconstruction.json est écrit après les opérations réussies et précise si le rendu a réellement été exécuté. Pour construire uniquement le .blend, retirez -- --render-preview. Le script refuse d’écraser des sorties existantes : un second essai se fait dans une nouvelle extraction. L’option --python-exit-code 1 permet de repérer une exception du script par le code de sortie du processus.
blender --background --factory-startup --python-exit-code 1 --python generate_scene.py -- --render-previewChemins relatifs : décrire la position sans oublier la copie
Dans Blender, un chemin commençant par // se rapporte à l’emplacement du .blend. Comme le projet Pli sera dans 02_projet, sa texture peut être désignée par //../03_ressources/pli-chevron.png. Le dossier de ressources voyage avec lui. Le générateur commence néanmoins par un chemin absolu résolu dans la copie, incorpore l’image, puis inscrit le chemin relatif avant la sauvegarde.
Pour un projet existant, enregistrez d’abord le .blend dans le dossier de transfert. Dans File → External Data, Make Paths Relative transforme les références ; cette opération ne copie pas les ressources. Report Missing Files aide à repérer les liens cassés. Find Missing Files recherche les fichiers dans le dossier sélectionné et peut réparer les références en chemins absolus : contrôlez-les à nouveau avant de transférer.
Ne confondez pas « trouvé sur ce poste » et « présent dans le dossier ». Une texture encore accessible dans Téléchargements peut masquer l’oubli. Après copie, ouvrez le projet dans un environnement où cet ancien emplacement ne peut plus satisfaire le lien, tout en conservant une sauvegarde indépendante.
Incorporer les ressources éligibles, inventorier les autres
Pack Resources permet d’inclure les ressources éligibles dans le .blend ; l’enregistrement rend cette opération effective dans le fichier transmis. Cela ne rassemble pas toutes les dépendances : les vidéos constituent un contre-exemple documenté. Les bibliothèques liées disposent d’une commande d’incorporation distincte. Faites donc la liste de ce qui est incorporé et de ce qui doit rester à côté du projet.
Pour Pli, conserver le PNG externe facilite sa modification, tandis que son incorporation doit permettre de retrouver le motif dans le fichier enregistré. Après une modification de la texture, il faut mettre à jour la ressource effectivement utilisée puis enregistrer la bonne version. Le simple remplacement d’un PNG voisin ne démontre pas que le .blend emploie ses nouveaux pixels.
| Ressource | Choix du pack | Si vous étendez la scène |
|---|---|---|
| Motif PNG | Source séparée et incorporation prévue | Recharger la texture modifiée, vérifier puis enregistrer |
| Géométrie et matériaux procéduraux | Construits par le script | Conserver la version du script ou le projet édité |
| Bibliothèque .blend liée | Aucune | Inventorier la bibliothèque et ses propres dépendances |
| Vidéo, son ou cache | Aucun | Conserver et contrôler les fichiers externes nécessaires |
Rouvrir dans un second processus et remplir une vraie réception
Après une reconstruction réussie, inspect_scene.py ouvre le .blend dans un second processus Blender, avec l’exécution de ses scripts internes désactivée. Il contrôle l’inventaire, la caméra, les réglages de sortie, la transformation AgX, la texture incorporée et son chemin relatif. Son rapport décrit l’ouverture et les données ; il n’atteste pas de la qualité du rendu.
Ouvrez le PNG obtenu dans un lecteur d’images. Vérifiez que le flacon reste entièrement dans le cadre, que l’étiquette montre le motif crème, violet et orange, que le contact avec le socle est lisible et qu’aucune texture magenta n’apparaît. Ces critères sont des intentions de réception ; nous ne publions pas d’image témoin Blender calculée pour ce pack.
Copiez 06_livraison/modele-reception.csv vers 06_livraison/reception-executee.csv, puis remplissez cette nouvelle fiche. Gardez le modèle intact : il appartient au manifeste. Le validateur accepte la copie remplie sans modifier les empreintes des sources, ce que notre test de réception a vérifié. Inventoriez ensuite cette fiche et les sorties approuvées dans votre archive de livraison.
blender --background --factory-startup --python-exit-code 1 --python inspect_scene.pyUne dépendance manquante doit arrêter le contrôle
L’exercice négatif du pack retire pli-chevron.png d’une copie d’essai, sans toucher aux sources. Le validateur renvoie alors un code 1 et identifie à la fois le fichier absent de l’inventaire et la dépendance manquante de la recette. Le générateur commence par ce même contrôle : il doit refuser de poursuivre avec cette copie incomplète.
Un autre essai altère le premier octet du PNG ; le contrôle détecte une empreinte différente et une signature d’image invalide. Un troisième remplace son chemin par une référence sortant du dossier, également refusée. Ces essais vérifient des défauts concrets de transfert. Ils ne simulent ni l’ouverture Blender ni la disparition d’un cache dans une animation.
Pour refaire l’exercice, travaillez uniquement sur une extraction supplémentaire et conservez une copie intacte. La correction consiste à retrouver la bonne ressource et son emplacement attendu. Une texture différente portant le même nom ne satisfait pas le contrôle d’intégrité.
Ajouter une animation change le périmètre de contrôle
La scène Pli ne possède qu’une image et n’a besoin d’aucun cache. Si vous lui ajoutez une fumée, un tissu ou une simulation, documentez le type de cache, sa version de calcul, son emplacement et toute la plage utile. Les mécanismes de précalcul dépendent du système physique ; ne généralisez pas le comportement d’un cache à tous les autres.
Figez le résultat avant de le copier. Pour une séquence, contrôlez le début, la fin, les changements de décor ou de simulation, mais aussi la présence de chaque fichier intermédiaire. Trois images visuellement correctes ne prouvent pas que les 96 fichiers d’une animation de 1 à 96 sont disponibles. Indiquez clairement si un cache est livré ou doit être recalculé, avec quels paramètres et quelles entrées.
Appliquez la même logique aux séquences de textures, volumes, sons et médias de montage. Ne supprimez pas les seules sources après la création du ZIP : conservez-les jusqu’à l’ouverture de la copie, au contrôle des sorties et à leur récupération.
Couleur, mémoire et durée : mesurer le vrai projet
Le motif Pli sert à la couleur de base et est déclaré sRGB. Une carte qui décrit des normales ou un déplacement n’a pas le même rôle ; son interprétation doit correspondre à ses données. Conservez aussi la transformation d’affichage et l’exposition lors de la comparaison des sorties. Une différence de couleur peut venir de la chaîne d’affichage, sans rapport avec la puissance de calcul.
Le poids du ZIP ne donne pas le besoin de mémoire GPU. La géométrie évaluée, les textures réellement chargées et les étapes du rendu comptent davantage que le nombre de fichiers dans une archive. Un petit aperçu CPU ne prédit ni le pic mémoire ni la durée du rendu final sur GPU. Mesurez une sortie complète représentative à la définition finale avant de choisir une configuration.
L’atelier 3D aide à cadrer ce contrôle. Comparez ensuite les configurations GPU selon la compatibilité et le pic observé, avec une marge adaptée au projet. Choisissez 3, 7 ou 30 jours dans le configurateur pour couvrir ouverture, essais, retours, calculs et récupération ; aucune de ces fenêtres ne garantit à elle seule un délai de rendu. Le guide d’export prolonge le travail jusqu’aux fichiers livrables.
Ce qui a été vérifié, et ce qui reste à exécuter
Les sept contrôles ci-dessous ont été exécutés sous Windows avec Python 3.14.6. Le pack contient quatorze fichiers, dont le manifeste ; treize fichiers sont couverts par ses empreintes. La texture a été reconstruite et comparée octet pour octet dans cet environnement. Cette égalité du PNG ne démontre pas une identité de rendu 3D entre versions ou matériels.
Les contrôles portent sur les fichiers, leurs dépendances et les erreurs de transfert. La génération du .blend, l’inspection de la scène et les rendus CPU ou GPU n’ont pas été testés. Le README donne la procédure pour les vérifier dans Blender 4.5.x LTS.
| Essai | Résultat | Portée |
|---|---|---|
| ZIP extrait, originaux inaccessibles | Code 0 | Intégrité, recette, PNG et syntaxe Python |
| Copie de la fiche puis saisie | Code 0 | Les sources restent contrôlées après la réception |
| Texture retirée d’une copie | Code 1 attendu | Dépendance absente identifiée |
| Texture altérée | Code 1 attendu | Empreinte et signature PNG rejetées |
| Chemin sortant du dossier | Code 1 attendu | Référence externe rejetée |
| Reconstruction du motif | Octets identiques | Texture procédurale, pas rendu Blender |
| Générateur lancé par Python seul | Refus attendu | Blender requis, aucune exécution bpy |
Pour avancer dans votre projet.
Retrouver les mêmes couleurs
Distinguer données, affichage et export pour comparer les images dans le bon contexte.
Lire le carnet Matières, lumière & imageRemettre des passes exploitables
Choisir les sorties utiles et contrôler un fichier EXR dans le logiciel destinataire.
Lire le carnetVos questions.
Pourquoi le pack ne contient-il pas déjà un fichier .blend ?+
Le pack fournit le générateur original et ses ressources. La création et l’ouverture de la scène restent à tester : aucun .blend ni rendu n’est fourni. Sur un poste équipé de Blender 4.5.x LTS, le README explique comment créer le .blend puis l’inspecter dans un second processus.
Un .blend avec des ressources incorporées peut-il remplacer tout le dossier ?+
Cela dépend des données utilisées. Certaines ressources sont incorporables ; d’autres, notamment des vidéos, restent externes. Conservez un inventaire explicite et contrôlez les dépendances de votre propre scène. Le pack Pli garde sa texture source pour permettre les modifications.
Pourquoi le manifeste signale-t-il mes modifications comme une erreur ?+
Il décrit les fichiers distribués dans la version 1.0.0. Modifier un script, une recette ou une texture change normalement son empreinte. Travaillez dans une nouvelle version et constituez son inventaire. Pour la réception, copiez le modèle CSV vers reception-executee.csv : cette sortie reste distincte du modèle contrôlé.
Ce pack permet-il de choisir directement une carte GPU ?+
Non. Il sert à préparer et contrôler un transfert. Aucun besoin VRAM ni temps GPU n’a été mesuré pour cette scène. Testez votre production complète, sa compatibilité et son pic mémoire avant de dimensionner la location.