Actif photo-réaliste
Recherchez un brief, exécutez une construction unique, comparez-la avec des photos, et rapportez le résultat. Utilisez Blender installé et les outils d'agent disponibles sur l'hôte ; aucun fournisseur d'agent particulier, modèle, chemin d'installation Blender ou emplacement de projet n'est requis.
Configuration
- Résolvez
{SKILL}vers le répertoire contenant ce fichier, et{SCRIPTS}vers son répertoirescripts/. Résolvez{PROJECT}vers le répertoire de projet choisi par l'utilisateur. Mettez les chemins entre guillemets dans les commandes. Les exemples utilisent des barres obliques, que Python accepte sous Windows, macOS et Linux. - Utilisez Python 3 avec
numpyetPillow(python -m pip install -r "{SKILL}/requirements.txt"). SciPy est optionnel et accélère les vérifications UV. Blender utilise son Python intégré pour les scriptsbpy. - Trouvez
blenderdans le PATH, ou définissezPHOTOREAL_BLENDERavec le chemin complet de l'exécutable, sans guillemets dans la valeur. Utilisez ce même exécutable pour les scripts de construction et le harnais. Vérifiez sa version et adaptez le code de construction à l'APIbpyprise en charge ; ne supposez pas une version fixe. - Cycles sélectionne un backend GPU disponible et tombe sur CPU. Définissez
PHOTOREAL_CYCLES_DEVICEàCPU,OPTIX,CUDA,HIP,METALouONEAPIpour forcer la sélection automatique. Exécutez les rendus séquentiellement. Une file d'attente externe optionnellegpu_slot.pypeut être fournie viaPHOTOREAL_GPU_TOOLS; elle n'est pas incluse ni requise. - Les chemins dans
asset.jsonsont relatifs à ce fichier. Unhdrivide utilise un ciel de jour procédural ; sinon, pointez-le vers un HDRI existant. Une fois la construction commencée, gardez l'éclairage et les caméras fixes. - La livraison par défaut est un fichier
.blendéditable avec images intégrées et rendus de révision. Ajoutez les exports pour jeu uniquement sur demande, en suivant templates/GAME_READY.md.
Structure du projet
<projet>/
asset.json caméras, éclairage, préfixe de collection et références du critique
BRIEF.md brief de recherche plus le modèle RULES.md rempli
ref/SOURCES.md provenance des photos ; les images de référence ne sont pas livrées
research/ layout.py, blockout.py, blockout.blend, NOTES.md
rounds/r01-build/ TASK.md, build.py, NOTES.md, tex/, renders/, final/, DONE.txt
<Titre>.md tableau des rounds et journal du projet
Utilisez une bibliothèque d'actifs existante si l'utilisateur en fournit une. Enregistrez les URL sources et les licences des images et textures externes. Gardez les licences inconnues marquées comme inconnues ; n'inventez pas de propriété et ne redistribuez pas les photos de référence avec le livrable.
1. Recherche
- Copiez templates/asset.json dans le projet et adaptez le sujet,
collection_prefix, le ciel et le sol. Cadrez une vue héroïque, de côté/de face, trois-quarts haut et un gros plan de la partie la plus difficile. Définissezrender_as,photo_kindetscope_notepour le critique. - Remplissez templates/TASK_research.md :
{ASSET},{PROJECT},{PREFIX},{SUBJECT_PLURAL},{SKILL}et{SCRIPTS}. Sauvegardez-le sousresearch/TASK.md. Exécutez un chercheur via les outils d'agent de l'hôte, ou réalisez la recherche directement. - Livrez les photos de référence avec leur provenance,
BRIEF.md,research/layout.pyavec une zone par partie et une collection propriétaire, le blocage, etowner_refs/overall_refsdansasset.json. - Inspectez les rendus du blocage avec la visionneuse d'images de l'hôte. Ajustez les caméras jusqu'à ce que chacune cadre son sujet, puis verrouillez-les.
Pour une fiche de conception fournie, copiez-la à l'identique dans ref/, enregistrez la provenance fournie
(inconnue là où non spécifiée), et faites des recadrages de détail. Utilisez ses vues pour les caméras jugées.
Définissez critic_goal lorsque l'objectif est de correspondre à un design stylisé plutôt que de passer pour une photographie ;
ajustez la formulation de la tâche et tout livrable supplémentaire en conséquence.
2. Construction
- Créez
rounds/r01-build/TASK.mdà partir de templates/TASK_build.md. Remplissez{ROUND},{ASSET},{PROJECT},{ROUND_DIR},{FILE}et{SCRIPTS}. - Laissez
{GAME_READY}vide pour un actif Blender uniquement. Sinon, insérez le contenu rempli de templates/GAME_READY.md, en sélectionnant Godot, Unreal Engine ou les deux. - Confiez la tâche à un seul constructeur. Utilisez le modèle actuel sauf si l'utilisateur en demande un autre. Gardez son identifiant de session si l'hôte en expose un. Un constructeur possède la géométrie ; les critiques indépendants ne font que la réviser.
3. Révision à chaque round
- Rendez la scène finale :
python "{SCRIPTS}/run.py" --asset "{PROJECT}/asset.json" --parts "{ROUND_DIR}/final/{FILE}.blend" --out "{ROUND_DIR}/final/renders" - Lisez
NOTES.mdet le derniercritique.md. Inspectez les recadrages en pleine résolution des parties difficiles à côté des photos, y compris les recadrages éclaircis lorsque c'est utile. Les comptages de sévérité sont bruités ; utilisez les différences visuelles réelles pour juger du progrès. - Comparez avec le round précédent s'il en existe un :
Inspectez les planchespython "{SCRIPTS}/compare_rounds.py" --asset "{PROJECT}/asset.json" --rounds <round-précédent> <round-courant> --focus <ids-zones> --refs "<photo>:x0,y0,x1,y1" --out "{PROJECT}/compare_rounds"_all.jpget_focus.jpgrésultantes. Utilisez les chemins de rounds attendus parcompare_rounds.py --help. - Pour les exports de jeu, exécutez la validation spécifique à la cible dans
GAME_READY.md. Ne décrivez pas une import Unreal comme validée par le vérificateur GLB de Godot. - Si des transcriptions prises en charge sont disponibles, exécutez éventuellement :
Cet audit comprend les logs Antigravity et Claude Code, pas tous les hôtes. Passezpython "{SCRIPTS}/audit_round.py" "{ROUND_DIR}" --root "{PROJECT}"--sessionpour une conversation Antigravity et--allowpour des répertoires d'outils supplémentaires autorisés. Son scan de chemins de fichiers reconnaît les chemins de lecteur Windows ; examinez séparément les autres styles de chemins. Les racines de logs peuvent être remplacées avecPHOTOREAL_ANTIGRAVITY_LOGSetPHOTOREAL_CLAUDE_LOGS. - Enregistrez le round et rapportez les images, améliorations, régressions, résultats de validation et une recommandation. Ne rapportez les coûts que s'ils sont mesurés. Arrêtez après le round demandé ; commencez un autre affinement uniquement lorsque l'utilisateur le demande. Copiez ou importez dans une bibliothèque externe uniquement si cette destination et action sont demandées.
4. Affinement sur demande
- Obtenez de meilleures photos des parties nommées depuis les vues pertinentes : assises, vides, de côté et depuis
l'angle de la caméra de jugement. Enregistrez la provenance dans
ref/SOURCES.md. - Mettez les références les plus fortes en premier dans la liste
owner_refsdu propriétaire ; chaque groupe en contient jusqu'à six. - Copiez les scripts de construction précédents,
tex/etfinal/{FILE}.blenddans un nouveau dossierrounds/rNN-<focus>/. Conservez ses notes sousNOTES_<précédent>.md, sa dernière vérification sousrenders/<précédent>_check/et ses rendus finaux sousrenders/<précédent>_final/. - Remplissez templates/TASK_refine.md, en incluant les parties, les IDs de zone et les nouvelles références. Limitez les modifications à ces parties, sauf pour les défauts de sévérité 3 ailleurs. Gardez la règle selon laquelle les photos l'emportent sur les positions et angles conflictuels, y compris pour les parties connectées.
- Exécutez un constructeur, révisez comme ci-dessus, et montrez les résultats précédents et actuels à côté des photos.
Transmission d'agent et critique indépendante
Utilisez l'interface d'agent native de l'hôte plutôt que de supposer un nom d'outil ou un alias de modèle.
Donnez au chercheur ou constructeur son répertoire de travail et le fichier de tâche complet. Limitez les écritures au
répertoire de projet ou de round assigné. La tâche se termine en écrivant DONE.txt.
Si la délégation de constructeur n'est pas disponible, construisez directement tout en préservant les mêmes limites de tâche.
Le critique de la règle 11 doit être indépendant du constructeur. photo_check.py prépare les invites et un
manifeste critic_jobs.json. Envoyez chaque invite à un nouveau réviseur avec uniquement des outils de lecture d'images/fichiers,
pas d'outils réseau ou d'édition, puis sauvegardez sa réponse JSON dans le response_file du manifeste et fusionnez.
Exécutez les critiques en parallèle uniquement si l'hôte le prend en charge, en respectant critic.parallel.
Utilisez la visionneuse d'images de l'hôte partout où une invite fait référence à une lecture d'image/fichier.
Si les sous-agents indépendants ne sont pas disponibles, --runner claude peut utiliser une CLI Claude Code installée et authentifiée.
Sinon, livrez les rendus et les travaux de révision préparés, et rapportez la critique indépendante comme incomplète.
Ne substituez pas la propre révision du constructeur et ne l'appelez pas indépendante.
Vérifications
| Script | Objectif |
|---|---|
run.py / render.py | Rendre les collections correspondant au préfixe dans la scène Cycles verrouillée ; écrire les PNG de caméra et sheet.jpg. |
photo_check.py | Recadrer les zones de layout, préparer les travaux de critique indépendants et fusionner les réponses JSON dans critique.md. --from réutilise les rendus ; --groups sélectionne les propriétaires. |
game_check.py / game_check_bl.py | Valider les maillages LOD Godot, UV, collisions convexes et textures GLB intégrées ; produire un plateau tournant LOD. Voir GAME_READY.md pour la validation Unreal. |
compare_rounds.py | Comparer les rounds et les recadrages ciblés avec une ligne de référence. |
audit_round.py | Inspecter optionnellement les transcriptions prises en charge pour l'accès aux fichiers, les rounds frères, les appels web et l'utilisation de jetons mesurée. |
Principes de révision
- De meilleures photos de la partie faible aident généralement plus que d'ajouter des règles au brief.
- Comparez chaque affinement avec le round précédent : une correction peut effacer des améliorations antérieures.
- Vérifiez les plaintes de proportion avec une superposition à l'échelle avant de modifier la géométrie.
- Les cavités sombres ont besoin de reflets de bord visibles, d'épaisseur de paroi et de dégradé intérieur. L'éclaircissement est destiné à l'inspection uniquement ; gardez l'éclairage jugé fixe. Sautez l'éclaircissement lorsqu'il écrête une image à haute clé.
- Utilisez les critiques comme une liste de réparations à l'intérieur d'un round, pas comme un score numérique entre les rounds.