CommunityBildgithub.com

TraX22/blender-materials-render

Weist Blender-Objekte Materialien zu, die tatsächlich rendern (Principled BSDF, Glas, Metall, Emission, prozedurale Texturen), richtet Beleuchtung, Welt, Kamera und Render-Einstellungen ein und erzeugt ein finales Bild über eine Blender-Verbindung (offizieller BlenderLab-Server). Verwende diesen Skill, wenn der Benutzer nach Materialien, Farben, Texturen, Beleuchtung, einer Kamera oder einem Render einer Blender-Szene fragt, oder wenn ein Render schwarz, grau, flach oder verrauscht ist.

Was ist blender-materials-render?

Dieser Skill ermöglicht es KI-Agenten wie Claude Code, Cursor oder Codex, direkt mit Blender zu interagieren und fotorealistische Bilder zu erzeugen. Er geht weit über das einfache Zuweisen von Farben hinaus: Der Agent kann auf den offiziellen BlenderLab-Server zugreifen und dort Python-Code ausführen, um Objekte mit echten, rendertauglichen Materialien (z. B. Principled BSDF, Glas, Metall, Emission) zu versehen, eine vollständige Beleuchtung (inklusive HDRI, Bereichslichter und Fülllichter) sowie eine Kamera mit sinnvoller Brennweite einzurichten und schließlich einen gerenderten Render als Datei auszugeben. Unterstützt werden die Render-Engines EEVEE (schnelle Vorschauen) und Cycles (finale, fotorealistische Ergebnisse). Der Skill enthält detaillierte Anleitungen zur Fehlerbehebung – etwa wenn der Render schwarz bleibt, weil keine Welt oder kein Licht vorhanden ist, oder wenn Materialien nicht richtig zugewiesen wurden. Er arbeitet über die BlenderLab-Connection-Tools und bietet Zugriff auf API-Dokumentationen, 3D-Viewport-Screenshots und Thumbnail-Renderings. Der Benutzer muss die BlenderLab-Verbindung installiert und den Blender-Server geöffnet haben.

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

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Materialien, Beleuchtung und Rendern in Blender

Du arbeitest im Blender des Benutzers über die BlenderLab-Verbindung. Der Viewport-Screenshot und der finale Render sind unterschiedliche Dinge: Der Screenshot zeigt jeweils den aktuellen Shading-Modus des Viewports, der Render verwendet die Render-Engine, die Lichter und die Welt. Die meisten Probleme vom Typ „Es sah gut aus, aber der Render ist falsch“ haben hier ihre Ursache.

Deine Blender-Verbindung

Du arbeitest über BlenderLab, den offiziellen Blender Lab Server; seine Werkzeuge sind blenderlab_…:

  • Was in der Szene ist: get_objects_summary; ein Objekt im Detail: get_object_detail_summary (nach name). Die Datei, ob gespeichert oder nicht, und ihr Pfad: get_blendfile_summary_path_info.
  • Python ausführen: execute_blender_code. Nichts überlebt zwischen Aufrufen (trage deine Helfer in jedes Skript ein); was das Skript ausgibt, kommt zurück, und ein result zugewiesenes Dict kommt als Daten zurück. Die Schutzfunktion verweigert einige Operatoren (Blender beenden, Factory Resets).
  • Den 3D-Viewport sehen: get_screenshot_of_area_as_image mit area_ui_type: "VIEW_3D" (das ganze Fenster: get_screenshot_of_window_as_image); auf ein Objekt ausrichten: jump_to_view3d_object_by_name.
  • Die Python-API überprüfen: get_python_api_docs (ein Bezeichner wie bpy.types.BevelModifier), search_api_docs; das Handbuch: search_manual_docs.
  • Schnellrender: render_thumbnail_to_path, render_viewport_to_path; das Bild geht in Blenders Temp-Ordner und das Ergebnis gibt den echten Pfad.
  • Export: Code (bpy.ops.export_scene.gltf, bpy.ops.export_scene.fbx).
  • Asset-Bibliotheken und 3D-Generatoren: keine. Baue das Objekt oder bitte den Benutzer um eine Datei zum Importieren.

Wenn diese Werkzeuge nicht verfügbar sind, stoppe und sage das: Der Benutzer muss die BlenderLab-Verbindung installieren (Werkzeuge → Verbindungen), sie diesem Agenten geben und Blender mit dem gestarteten Add-on-Server geöffnet haben. Beschreibe keine Arbeit als erledigt, wenn du sie nicht ausführen konntest.

Arbeitsreihenfolge

  1. Schauen: mit dem Szenen-Werkzeug: welche Objekte, welche haben bereits Materialien, gibt es eine Kamera, ein Licht, eine Welt? Lies bpy.app.version_string und die aktuelle Render-Engine aus.
  2. Materialien, eines pro unterscheidbarer Oberfläche, benannt nach dem, was sie sind (Oak_Wood, Brushed_Steel), über Objekte hinweg wiederverwendet.
  3. Licht und Welt, bevor du ein Material beurteilst: Ein Material kann im Dunkeln nicht beurteilt werden.
  4. Kamera: auf das Motiv gerichtet, sinnvolle Brennweite.
  5. Testrender klein (25-50 % Auflösung, wenige Samples), anschauen, korrigieren.
  6. Finaler Render in eine Datei und Pfad, Engine, Auflösung und Zeit melden.

Code für jeden Schritt befindet sich in references/shading-and-render.md. Öffne es, bevor du das erste Skript schreibst.

Materialien: Was schiefgeht

  • Farbe an der falschen Stelle gesetzt. material.diffuse_color und object.color sind nur Viewport-Anzeigefarben: Sie rendern nicht. Die Farbe, die rendert, ist der Base-Color-Eingang des Principled-BSDF-Knotens. Setze beide, wenn der Solid-Modus-Viewport übereinstimmen soll.
  • Eingangsnamen haben sich in Blender 4.0 geändert. Transmission wurde zu Transmission Weight, Emission wurde zu Emission Color, Specular wurde zu Specular IOR Level, Clearcoat wurde zu Coat Weight, Subsurface wurde zu Subsurface Weight. Suche einen Eingang nach Namen und überprüfe, ob er existiert, bevor du ihn setzt; verwende das API-Werkzeug deiner Verbindung, wenn du unsicher bist.
  • Material erstellt, aber nie zugewiesen. Füge es an obj.data.materials an; für verschiedene Materialien auf Teilen eines Netzes weise polygon.material_index zu.
  • Finde den Knoten nach Typ, nicht nach Name. Der Knoten heißt nur in einer englischen Benutzeroberfläche „Principled BSDF“. Verwende next(n for n in nodes if n.type == 'BSDF_PRINCIPLED').
OberflächePrincipled BSDF-Einstellungen
Bemalt, KunststoffBase Color; Roughness 0,3–0,6; Metallic 0
MetallMetallic 1,0; Base Color = Farbe des Metalls; Roughness 0,15–0,5
GlasTransmission Weight 1,0; Roughness 0–0,05; IOR 1,45; benötigt eine Welt oder Lichter, um etwas zu brechen
LeuchtendEmission Color + Emission Strength (1–20)
Gummi, Stoff, MattRoughness 0,8–1,0
Autolack, LackCoat Weight 1,0; Coat Roughness 0,05

Metallic ist 0 oder 1, fast nie dazwischen. Reines Schwarz (0, 0, 0) und reines Weiß (1, 1, 1) als Base Color sehen unter Licht falsch aus: bleibe innerhalb von etwa 0,03–0,9.

Beleuchtung und Welt

  • Keine Welt und kein Licht bedeutet einen schwarzen Render, und Glas oder Chrom, gerendert gegen eine leere Welt, werden selbst mit Lichtern schwarz, weil es nichts zu reflektieren oder zu brechen gibt. Gib der Welt eine Farbe und Stärke oder ein HDRI.
  • Ein zuverlässiger Start: ein großes Bereichslicht als Key (45° zur Seite und darüber), ein schwächeres Fill auf der anderen Seite, ein Rim-Licht dahinter und eine Welt mit niedriger Stärke (0,2–0,5).
  • Die Leistung eines Bereichslichts wird in Watt angegeben und muss groß sein: Ein 1 m Bereichslicht 2 m von einem kleinen Objekt entfernt benötigt grob 100–500 W. Die Stärke einer Sonne ist anders: 2–5.
  • Eine Bodenebene unter dem Objekt gibt Kontaktschatten; ohne sie schwebt das Objekt.
  • Ein HDRI gibt realistisches Licht und Reflexionen in einem Schritt. Die Blender (MCP für Blender)-Verbindung kann eines von Poly Haven herunterladen: Es handelt sich um Drittinhalte und erfordert eine Genehmigung in HydraOps, also frage zuerst. Bei BlenderLab bitte den Benutzer um eine HDRI-Datei.

Engines

EEVEECycles
GeschwindigkeitSekundenSekunden bis Minuten
Verwendung fürVorschauen, stilisiert, AnimationFinale Standbilder, Glas, genaues Licht
AchtungReflexionen und Brechungen benötigen Raytracing aktiviert; ohne sehen Glas und glänzende Oberflächen flach oder körnig ausRauschen: erhöhe Samples und lasse Rauschunterdrückung aktiviert; nutzt die GPU nur, wenn der Benutzer sie konfiguriert hat

Der Engine-Bezeichner für EEVEE variiert je nach Version (BLENDER_EEVEE_NEXT in 4.2–4.5, BLENDER_EEVEE davor und danach): Die Referenz zeigt, wie man sie setzt, ohne zu raten. Ändere nicht das Render-Gerät oder die Einstellungen des Benutzers.

Kamera

  • Erstelle eine, wenn es keine gibt, und mache sie zur Szenenkamera; verschiebe keine Kamera, die der Benutzer bereits platziert hat, es sei denn, du wirst darum gebeten.
  • Richte sie mit einer Track-To-Constraint auf das Motiv oder auf ein Empty; 50–85 mm für Objekte, 24–35 mm für Räume und Umgebungen.
  • Überprüfe den Bildausschnitt mit einem kleinen Testrender, nicht mit dem Viewport-Screenshot (der Viewport ist nicht die Kamera, es sei denn, du wechselst in die Kameraperspektive).

Rendern

  • Rendere in eine Datei mit einem absoluten Pfad in einem Ordner, den der Benutzer finden kann (neben der .blend-Datei, wenn sie gespeichert ist, sonst frage oder verwende den temporären Ordner des Benutzers) und melde den vollständigen Pfad. Überschreibe niemals eine vorhandene Datei, ohne es zu sagen. Mache es mit Code (die Referenz enthält ihn): Die eigenen Render-Werkzeuge von BlenderLab sind für schnelle Überprüfungen und schreiben in Blenders Temp-Ordner, unabhängig davon, welchen Pfad du ihnen gibst; melde den Pfad, den sie im Ergebnis nennen.
  • Teste erst klein. Ein Cycles-Render in voller Auflösung kann Minuten dauern und blockiert Blender, während er läuft; informiere den Benutzer, bevor du einen langen Render startest.
  • Überprüfe das Ergebnis, bevor du den Erfolg erklärst: Ein Viewport-Screenshot zeigt keinen Render. Wenn du die gerenderte Datei nicht selbst ansehen kannst, sage das deutlich und beschreibe, was du eingerichtet hast, anstatt zu beschreiben, wie das Bild „aussieht“.
  • Farbmanagement: Der standardmäßige View-Transform (AgX oder Filmic) entsättigt starke Farben für Realismus; für flache, grafische Farben, die exakt übereinstimmen müssen, verwende Standard.

Fehlerbehebung

SymptomÜbliche Ursache
Render ist schwarzKein Licht und keine Welt; Kamera innerhalb eines Objekts; Objekt vor Render verborgen
Objekt ist grau oder weißMaterial nicht zugewiesen oder Farbe auf diffuse_color statt Base Color gesetzt
Glas ist schwarzLeere Welt; bei EEVEE Raytracing aus
Pink oder MagentaFehlende Bildtextur-Datei
KörnigCycles: wenige Samples oder kein Rauschunterdrücker. EEVEE: Raytracing aus oder weiche Schatten bei niedrigen Samples
Flach, keine TiefeNur ein Weltlicht: Füge ein Key-Licht und eine Bodenebene hinzu
Ausgewaschene FarbenView-Transform: versuche Standard oder senke die Belichtung
Blockige gekrümmte OberflächenFlache Schattierung: aktiviere glatte Schattierung

Bevor du sagst, es sei erledigt

  • Jedes sichtbare Objekt hat ein zugewiesenes Material, dessen Base Color am Knoten gesetzt ist.
  • Es gibt ein Licht oder eine beleuchtete Welt sowie eine Kamera, die das Motiv einfängt.
  • Ein Render wurde in eine Datei geschrieben, und du hast den Pfad, die Engine und die Auflösung angegeben.
  • Du hast nur das geändert, was verlangt wurde: keine gelöschten Objekte, keine geänderten Einstellungen.

Individual skills in this repo

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

Verwandte Skills