CommunityImagegithub.com

TraX22/matériaux-et-rendu-blender

Ajoute des matériaux réalistes aux objets Blender (Principled BSDF, verre, métal, émission, textures procédurales), configure l'éclairage, le monde, la caméra et les paramètres de rendu, et produit une image finale via la connexion BlenderLab. Utilisez cette compétence lorsque l'utilisateur demande des matériaux, couleurs, textures, éclairage, une caméra ou un rendu d'une scène Blender, ou lorsqu'un rendu est noir, gris, plat ou bruité.

Qu'est-ce que matériaux-et-rendu-blender ?

Cette compétence spécialisée pour les agents IA (compatible avec Claude Code, Cursor, Codex, etc.) permet de gérer intégralement le pipeline de matériaux, d'éclairage et de rendu dans Blender via la connexion officielle BlenderLab. Elle automatise la création de matériaux PBR réalistes (métal, verre, émission, textures procédurales) avec le nœud Principled BSDF, en évitant les erreurs courantes comme les couleurs placées sur `diffuse_color` au lieu de l'entrée Base Color, ou les noms d'entrées obsolètes selon la version de Blender. L'outil configure également l'éclairage (lumières de zone, HDRIs, soleil), le monde (couleur, force, HDRI), la caméra (cadrage, focale, contrainte Track To) et les moteurs de rendu (EEVEE pour les aperçus, Cycles pour les finals) avec des réglages optimisés. Il produit une image de rendu finale dans un fichier accessible, rapporte le chemin, le moteur, la résolution et le temps, et vérifie que chaque objet visible possède un matériau assigné avec une couleur Base Color définie sur le nœud, qu'il y a une lumière ou un monde éclairé, et qu'une caméra cadre correctement le sujet.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TraX22/HydraOps-Skills/tree/HEAD/blender-materials-render

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Matériaux, éclairage et rendu dans Blender

Vous travaillez dans le Blender de l'utilisateur via la connexion BlenderLab. La capture de la vue 3D et le rendu final sont deux choses différentes : la capture montre le mode d'affichage de la vue, tandis que le rendu utilise le moteur de rendu, les lumières et le monde. La plupart des problèmes du type « ça semblait bien mais le rendu est faux » viennent de là.

Votre connexion Blender

Vous travaillez via BlenderLab, le serveur officiel Blender Lab ; ses outils sont blenderlab_… :

  • Ce qui se trouve dans la scène : get_objects_summary ; un objet en détail : get_object_detail_summary (par name). Le fichier, sauvegardé ou non, et son chemin : get_blendfile_summary_path_info.
  • Exécuter du Python : execute_blender_code. Rien ne persiste entre les appels (portez vos aides dans chaque script) ; ce que le script imprime est renvoyé, et un dictionnaire assigné à result est renvoyé comme données. Son garde-fou refuse quelques opérateurs (quitter Blender, réinitialiser aux paramètres d'usine).
  • Voir la vue 3D : get_screenshot_of_area_as_image avec area_ui_type: "VIEW_3D" (la fenêtre entière : get_screenshot_of_window_as_image) ; la pointer vers un objet : jump_to_view3d_object_by_name.
  • Consulter l'API Python : get_python_api_docs (un identifiant tel que bpy.types.BevelModifier), search_api_docs ; le manuel : search_manual_docs.
  • Rendu rapide : render_thumbnail_to_path, render_viewport_to_path ; l'image va dans le dossier temporaire de Blender et le résultat donne le chemin réel.
  • Export : code (bpy.ops.export_scene.gltf, bpy.ops.export_scene.fbx).
  • Bibliothèques d'actifs et générateurs 3D : aucun. Construisez l'objet, ou demandez à l'utilisateur un fichier à importer.

Si ces outils ne sont pas disponibles, arrêtez-vous et dites-le : l'utilisateur doit installer la connexion BlenderLab (Outils → Connexions), la donner à cet agent, et avoir Blender ouvert avec le serveur du module complémentaire démarré. Ne décrivez pas le travail comme fait si vous n'avez pas pu le faire.

Ordre de travail

  1. Inspecter : l'outil de scène ; quels objets, lesquels ont déjà des matériaux, y a-t-il une caméra, une lumière, un monde ? Lisez bpy.app.version_string et le moteur de rendu actuel.
  2. Matériaux, un par surface distincte, nommés pour ce qu'ils sont (Oak_Wood, Brushed_Steel), réutilisés entre les objets.
  3. Lumière et monde avant d'évaluer un matériau : un matériau ne peut pas être évalué dans l'obscurité.
  4. Caméra : cadrée sur le sujet, distance focale raisonnable.
  5. Rendu test petit (25-50 % de résolution, peu d'échantillons), regardez-le, corrigez.
  6. Rendu final dans un fichier, et rapportez le chemin, le moteur, la résolution et le temps.

Le code pour chaque étape se trouve dans references/shading-and-render.md. Ouvrez-le avant d'écrire le premier script.

Matériaux : ce qui se passe mal

  • Couleur placée au mauvais endroit. material.diffuse_color et object.color sont des couleurs d'affichage dans la vue 3D uniquement : elles ne rendent pas. La couleur qui rend est l'entrée Base Color du nœud Principled BSDF. Définissez les deux si vous voulez que la vue en mode solide corresponde.
  • Noms d'entrées modifiés dans Blender 4.0. Transmission est devenu Transmission Weight, Emission est devenu Emission Color, Specular est devenu Specular IOR Level, Clearcoat est devenu Coat Weight, Subsurface est devenu Subsurface Weight. Recherchez une entrée par son nom et vérifiez qu'elle existe avant de la définir ; utilisez l'outil API de votre connexion en cas de doute.
  • Matériau créé mais jamais assigné. Ajoutez-le à obj.data.materials ; pour différents matériaux sur des parties d'un même maillage, assignez polygon.material_index.
  • Trouvez le nœud par son type, pas par son nom. Le nœud s'appelle « Principled BSDF » uniquement dans une interface en anglais. Utilisez next(n for n in nodes if n.type == 'BSDF_PRINCIPLED').
SurfaceRéglages Principled BSDF
Peint, plastiqueBase Color ; Roughness 0.3-0.6 ; Metallic 0
MétalMetallic 1.0 ; Base Color = couleur du métal ; Roughness 0.15-0.5
VerreTransmission Weight 1.0 ; Roughness 0-0.05 ; IOR 1.45 ; nécessite un monde ou des lumières pour avoir quelque chose à réfracter
LumineuxEmission Color + Emission Strength (1-20)
Caoutchouc, tissu, matRoughness 0.8-1.0
Peinture automobile, vernisCoat Weight 1.0 ; Coat Roughness 0.05

Metallic est 0 ou 1, presque jamais entre les deux. Les couleurs de base noir pur (0, 0, 0) et blanc pur (1, 1, 1) semblent mauvaises sous la lumière : restez entre environ 0.03 et 0.9.

Éclairage et monde

  • Pas de monde et pas de lumière signifie un rendu noir, et le verre ou le chrome rendu contre un monde vide devient noir même avec des lumières, car il n'y a rien à réfléchir ou réfracter. Donnez au monde une couleur et une force, ou un HDRI.
  • Un bon point de départ : une grande lumière de zone comme clé (45° d'un côté et au-dessus), un remplissage plus faible de l'autre côté, une lumière de contour derrière, et un monde à faible force (0.2-0.5).
  • La puissance d'une lumière de zone est en watts et doit être grande : une lumière de zone de 1 m à 2 m d'un petit objet veut environ 100-500 W. La force d'un soleil est différente : 2-5.
  • Un plan de sol sous l'objet donne des ombres de contact ; sans lui, l'objet flotte.
  • Un HDRI donne un éclairage et des reflets réalistes en une seule étape. La connexion Blender (MCP pour Blender) peut en télécharger un depuis Poly Haven : c'est un contenu tiers et une approbation dans HydraOps, donc demandez d'abord. Avec BlenderLab, demandez à l'utilisateur un fichier HDRI.

Moteurs

EEVEECycles
VitesseSecondesSecondes à minutes
Utilisation pourAperçus, stylisé, animationImages fixes finales, verre, lumière précise
AttentionLes réflexions et réfractions nécessitent le lancer de rayons activé ; sans lui, les surfaces vitreuses et brillantes semblent plates ou granuleusesBruit : augmentez les échantillons et gardez le débruitage activé ; utilise le GPU uniquement si l'utilisateur l'a configuré

L'identifiant du moteur pour EEVEE diffère selon la version (BLENDER_EEVEE_NEXT dans 4.2-4.5, BLENDER_EEVEE avant et après) : la référence montre comment le définir sans deviner. Ne modifiez pas le périphérique de rendu ou les préférences de l'utilisateur.

Caméra

  • Créez-en une s'il n'y en a pas et faites-en la caméra de la scène ; ne déplacez pas une caméra que l'utilisateur a déjà placée sauf demande explicite.
  • Visez-la avec une contrainte Track To vers le sujet ou vers un objet vide ; 50-85 mm pour les objets, 24-35 mm pour les pièces et environnements.
  • Vérifiez le cadrage avec un petit rendu test, pas avec la capture d'écran de la vue (la vue 3D n'est pas la caméra sauf si vous passez en vue caméra).

Rendu

  • Rendez dans un fichier avec un chemin absolu dans un dossier que l'utilisateur peut trouver (à côté du .blend s'il est sauvegardé, sinon demandez ou utilisez le dossier temporaire de l'utilisateur) et rapportez le chemin complet. N'écrasez jamais un fichier existant sans le dire. Faites-le avec du code (la référence le contient) : les propres outils de rendu de BlenderLab sont pour des vérifications rapides et écrivent dans le dossier temporaire de Blender quel que soit le chemin que vous leur donnez ; rapportez le chemin que leurs résultats nomment.
  • Testez petit d'abord. Un rendu Cycles en pleine résolution peut prendre des minutes et bloque Blender pendant son exécution ; prévenez l'utilisateur avant d'en lancer un long.
  • Regardez le résultat avant de déclarer le succès : une capture de la vue 3D ne montre pas un rendu. Si vous ne pouvez pas visualiser le fichier rendu vous-même, dites-le clairement et décrivez ce que vous avez configuré plutôt que ce à quoi l'image « ressemble ».
  • Gestion des couleurs : la transformation de vue par défaut (AgX ou Filmic) désature les couleurs fortes pour le réalisme ; pour des couleurs graphiques plates qui doivent correspondre exactement, utilisez Standard.

Dépannage

SymptômeCause habituelle
Le rendu est noirPas de lumière et pas de monde ; caméra à l'intérieur d'un objet ; objet masqué en rendu
L'objet est gris ou blancMatériau non assigné, ou couleur définie sur diffuse_color au lieu de Base Color
Le verre est noirMonde vide ; dans EEVEE, lancer de rayons désactivé
Rose ou magentaFichier de texture d'image manquant
GranuleuxCycles : peu d'échantillons ou pas de débruitage. EEVEE : lancer de rayons désactivé ou ombres douces avec peu d'échantillons
Plat, pas de profondeurSeule une lumière de monde : ajoutez une lumière clé et un plan de sol
Couleurs délavéesTransformation de vue : essayez Standard, ou réduisez l'exposition
Surfaces courbes en blocsOmbrage plat : activez l'ombrage lisse

Avant de dire que c'est fini

  • Chaque objet visible a un matériau assigné dont la Base Color est définie sur le nœud.
  • Il y a une lumière ou un monde éclairé, et une caméra qui cadre le sujet.
  • Un rendu a été écrit dans un fichier, et vous avez donné le chemin, le moteur et la résolution.
  • Vous n'avez modifié que ce qui a été demandé : pas d'objets supprimés, pas de préférences modifiées.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills associés