Eine Ebene, eine Kugel und eine Handvoll Würfel werden zu einem Leuchtturm auf einer Insel zwischen zwei Klippen. Dieser Leitfaden geht von Anfang bis Ende: ein einfaches Blockout in Blender, ein Tiefenpass, ein fotorealistisches Bild von Stable Diffusion mit einem Depth-ControlNet und dann eine Kameraprojektion, die das Render zurück auf die 3D-Formen legt, damit sich die Kamera bewegen kann. Er richtet sich an Leute, die neu bei Stable Diffusion sind.
Was mir an diesem Prozess gefällt, ist, dass du die endgültige Komposition kontrollierst. Als professioneller Künstler hatte ich immer mehr Ideen als Zeit, sie umzusetzen. Dieser Ansatz erlaubt mir, viele davon mit ziemlich geringem Aufwand auszuprobieren.
Kurz gefasst
- Blockout: Ebene für das Meer, UV-Kugel für die Insel, Würfel für die Klippen und den Leuchtturm. Kamera mit 33 mm.
- Tiefenpass: Z-Pass → Map Range → Invert Color; View Transform Raw; 16-Bit-PNG.
- Stable Diffusion: AUTOMATIC1111 mit epiCPhotoGasm und der ControlNet-Erweiterung: Depth, Preprocessor depth_zoe, Gewicht 0,75.
- Projektion: UV Project from View, ein Background-Shader, reichlich Unterteilung.
- Projektdateien: Die Blender-Szene ist kostenlos auf Gumroad.
Dieses Video nutzte AUTOMATIC1111. Für dieselbe Idee in ComfyUI, live, während du die Kamera bewegst, siehe Concept Art in Echtzeit mit Blender und Stable Diffusion.
1. Die Szene in Blender 4.3 blocken
Die Oberfläche von Blender 4.3 unterscheidet sich leicht von früheren Versionen. Alles hier ist so einfach wie möglich.
- Meer: Umschalt+A → Mesh → Plane. Bewege es mit G, skaliere es mit S, um es viel größer zu machen.
- Insel: eine UV Sphere, in die Ebene eingesunken und auf Shade Smooth gesetzt.
- Leuchtturm: ein Würfel, hoch skaliert. Füge ein paar kleine Gebäude hinzu, sporadisch, nicht zu viele.
- Klippen: weitere Würfel, dupliziert (Umschalt+D), gekippt und skaliert.
Füge eine Kamera hinzu. Ziehe einen zweiten Viewport nach unten, setze ihn auf die Kameraansicht (View → Cameras → Set Active Object as Camera) und aktiviere Lock Camera to View, damit du navigieren kannst, ohne die Kamera zu verlieren. Ich habe eine Brennweite von 33 mm genutzt, für eine Landschaftsansicht leicht weit.
Platziere dann die Klippen um die Insel, um eine Öffnung einzurahmen, mit einer kleinen Insel in der Mitte: ein Leuchtturm, eine Burg oder ein Science-Fiction-Turm. Hier verbringe ich die meiste Zeit damit, Felsen zu bewegen und zu skalieren. Ich will großen Kontrast zwischen großen und kleinen Formen und den Blick auf das Hauptmotiv gelenkt. Diese Komposition ist einfach: Das Motiv kommt genau in die Mitte.
Himmel: Dupliziere die Ebene und drehe sie mit R aufrecht (halte Strg zum Einrasten). Halte sie nicht zu weit entfernt; eine sehr weit entfernte Ebene kann die Tiefenwerte verzerren.
Senke in den Output Properties die Auflösung auf 50 %, damit Stable Diffusion schneller läuft.
2. Einen Tiefenpass rendern
In einem Tiefenpass sind weiße Pixel nah und schwarze Pixel fern.
- View Layer Properties → Passes, aktiviere Z.
- Wechsle in den Workspace Compositing und klicke auf Use Nodes.
- Rendere einmal. Die Lichter der Szene beeinflussen den Tiefenpass nicht, ein einfaches Licht genügt also.
- Füge einen Viewer-Node hinzu und verbinde den Ausgang Depth des Renders. Zuerst ist das Bild überbelichtet.
- Füge Map Range dazwischen und ziehe die Werte From und To, bis der Verlauf stimmt. Ich habe einfach die Regler nach links und rechts gezogen, bis ich den gewünschten Look fand.
- Füge Invert Color hinzu; der Pass funktioniert so nicht richtig herum.
- Render Properties → Color Management → View Transform: Raw. Es ergibt einen weicheren, besser definierten Bereich.
- Verbinde Invert Color mit dem Node Composite, rendere und speichere als PNG, Farbtiefe 16 Bit, 0 % Kompression. 16 Bit ergibt ein reicheres Bild.
3. Stable Diffusion und ControlNet installieren
Die einfachste Installation von AUTOMATIC1111 ist die Version v1.0.0-pre: Lade nur sd.webui.zip herunter, entpacke es und führe run.bat aus. Das Herunterladen der zusätzlichen Pakete dauert eine Minute oder mehr; gib ihm Zeit.
- Modelle kommen in den Ordner der Stable-Diffusion-Modelle. Ich habe meine auf Civitai gefunden; das, das ich viel genutzt habe, ist epiCPhotoGasm, großartig für realistische Bilder. Suche auf Civitai nach anderen Stilen und lege sie in denselben Ordner.
- ControlNet-Erweiterung: Wähle in der Web-Oberfläche Extensions → Install from URL, füge
https://github.com/Mikubill/sd-webui-controlnetein und installiere. Dann Installed → Check for updates → Apply and restart UI. - ControlNet-Modelle: Lade sie von lllyasviel/ControlNet-v1-1 auf Hugging Face in den Modellordner der Erweiterung herunter. Ich nutze meist depth; ich habe auch canny (Linienerkennung) heruntergeladen, aber dieser Leitfaden nutzt nur depth.
ControlNet selbst wird in Adding Conditional Control to Text-to-Image Diffusion Models (Zhang et al., 2023) beschrieben.
4. Das Bild erzeugen
Auf dem Tab txt2img:
- Checkpoint: epiCPhotoGasm.
- Breite × Höhe: 960 × 540, passend zum Render.
- Seed: 10, fest, weil ich beim Abstimmen keine Variation will.
- ControlNet: Öffne das Panel, klicke auf Depth und setze den Haken bei Enable. Setze den Preprocessor auf depth_zoe, der viel besser ist als das Standard-depth_midas. Ziehe die Tiefen-PNG hinein.
- Control weight: Beginne bei 0,7. Niedrigere Werte fügen Variation hinzu (bei 0,2 ist das Ergebnis sehr verschieden von deiner Szene), und 1,0 zerstört es ebenfalls. Bleib zwischen 0,5 und 0,9.
Der Prompt ist nur das, was ich sehe: „canyon, lighthouse, small island, sea, sunny day, limestone“. Tausche „limestone“ gegen ein Land wie Ireland, und du bekommst eine völlig andere Landschaft.
Ein Lichthof um eine Form kommt meist vom ControlNet-Gewicht. Es auf 0,6 zu senken, entfernte einen Teil davon, verursachte aber Fehlschläge. 0,75 war genau richtig; bei 0,8 fügte es einen Strand im Vordergrund hinzu.
Hires. fix verdoppelt die Auflösung. Je nach deinem VRAM kann es laufen oder scheitern; es dauert meist ein paar Minuten, und manchmal muss ich den Computer neu starten, um einen sauberen Durchlauf zu bekommen. Die 2K-Version hat eine viel höhere Qualität, aber Details ändern sich gegenüber der 1K-Version. Ich weiß noch nicht, wie man das konsistent hält; wenn du es weißt, hinterlasse einen Kommentar zum Video.
Alles wird automatisch im Ordner outputs der Web-Oberfläche gespeichert, eine endlose Galerie deiner Versuche.
Was unterwegs schiefging
- Gewicht 1,0 zerstörte das Bild. Um 0,5 begann es sich einzufügen.
- Depth Midas lieferte etwas völlig anderes, nichts mit der Insel zu tun.
- Ein schwacher Tiefenverlauf erzeugte einen Strand im Vordergrund oder ließ Objekte im Mittelgrund mit dem Vordergrund verschmelzen. Nutze die View Transform Raw und ein gutes Map Range.
- Unruhige Hintergründe: Ich musste Prompts ändern und die Insel und Details in Blender verschieben, um einen sauberen Hintergrund zu bekommen.
Sobald ich depth_zoe und ein gutes Gewicht hatte, fingen die guten Bilder an. Ich habe auch eine düstere mittelalterliche Burg, Länder wie Jordanien und Jemen und eine futuristische Burg ausprobiert, die einen ziemlich modernen Look ergab. Die Felsen im Vordergrund dort sind meine Würfel; es folgt dem Blockout wirklich gut.
5. Das Render zurück auf die Szene projizieren
- Wähle jedes Objekt außer Kamera und Lichtern aus, drücke Tab und A, um alles auszuwählen.
- UV → Project from View, von der Kamera.
- Gib einem Objekt ein neues Material und stelle es von Principled BSDF auf einen Background-Shader um: Es gibt keine Reflexionen, es ist eine flache Projektion der Textur.
- Füge im Workspace Shading eine Image Texture mit dem Render von Stable Diffusion hinzu und verbinde sie.
- Wähle alles Sichtbare aus, dann das texturierte Objekt als letztes, und drücke Strg+L → Link Materials.
Zuerst wirkt die Projektion falsch. Unterteile die Meshes (nicht die Kugel, die bereits dicht genug ist, sondern die Klippen, den Himmel und das Wasser): Wähle im Edit Mode mehrmals Subdivide und dann erneut Project from View. Ich musste noch einmal unterteilen, bevor alles stimmte. Wenn du jetzt die Kamera bewegst, wirkt es wie eine 3D-Szene.
Korrigieren, was dem Blockout fehlt
- Die Spitze des Leuchtturms: Der Würfel reichte nicht bis dorthin. Umschalt+Rechtsklick, um den 3D-Cursor zu setzen, füge einen Zylinder hinzu, skaliere und verjünge ihn, um den Raum zu füllen, gib ihm das Background-Material und führe erneut Project from View aus. Dasselbe tat ich für die Palme mit einer Platzhalterkugel. Später habe ich die Spitze in Zylinder zerlegt, um einen Lichthof zu entfernen.
- Der Himmel: In Photoshop habe ich aus dem Himmel des Renders einen sauberen Verlauf gemacht. Ein Klick auf die Benutzerzahl des Materials (17) erzeugt eine Kopie mit einem Benutzer, und dort tauschte ich das neue Bild ein.
- Felsenkanten werden sichtbar, wenn sich die Kamera bewegt. Die Felsen etwas weiter nach hinten zu schieben, macht das Clipping bei kleinen Bewegungen deutlich weniger sichtbar.
6. Wasser und die Kamerabewegung
Ersetze auf der Meeresebene das Material durch ein neues Principled BSDF mit Roughness 0. Es spiegelt das HDRI, also schalte Raytracing in den Render Properties ein (es funktioniert in 4.3 etwas anders), um eine Spiegelung der Szene zu bekommen.
Füge dann Wellen hinzu: Noise Texture → Bump (Farbe in Height, Normal in die Normal des Shaders), mit Texture Coordinate und Mapping davor. Setze einen Keyframe auf die Location des Mapping bei Frame 1, bewege sie bei Frame 250 und setze wieder einen Keyframe. Der erste Versuch war zu schnell; ich senkte die Bewegung auf 0,1 m für eine dezente Animation.
Vor dem Rendern:
- Erhöhe die Viewport-Samples auf 256.
- Stelle die View Transform von Raw zurück auf Standard, verbinde das Image des Renders (nicht die Tiefe) mit dem Node Composite und setze die Auflösung zurück auf 100 %.
- Versenke ein paar Felsen im Wasser und bringe das Wasser in den Vordergrund.
- Setze einen Keyframe auf die Kamera bei Frame 1, bewege sie bei Frame 150 etwas näher heran, setze erneut einen Keyframe und wähle Render Animation in deinen Ausgabeordner. Ich habe eine Videodatei gerendert, damit es schneller geht.
Danach habe ich andere Prompts wie Grönland und Thailand ausprobiert und die Textur im Ordner ersetzt, um neue Versionen derselben Szene zu bekommen. Die Blender-Szene ist kostenlos auf meinem Gumroad.
Die Videoversion ansehen (23:27)
Alles oben steht auch im Video, falls du lieber am Bildschirm mitmachst. Das Video ist auf Englisch.
Häufige Fragen
Wie exportiere ich eine Tiefenkarte aus Blender für ControlNet?
Aktiviere den Z-Pass in den View-Layer-Eigenschaften, leite dann im Compositor Depth durch Map Range und Invert Color, sodass nah weiß und fern schwarz ist. Setze die View Transform auf Raw und speichere als 16-Bit-PNG ohne Kompression.
Welches ControlNet-Gewicht sollte ich für eine Tiefenkarte nutzen?
Zwischen 0,5 und 0,9. Bei 1,0 ging das Bild kaputt; bei 0,6 gab es Fehlschläge; 0,75 war genau richtig, während 0,8 einen Strand im Vordergrund hinzufügte.
Depth Zoe oder Depth Midas?
Depth Zoe. Mit Midas hatte das Ergebnis nichts mit der Insel zu tun.
Warum verschmelzen meine Objekte im Mittelgrund mit dem Vordergrund?
Die Tiefenkarte hat nicht genug Veränderung in ihren Verläufen. Setze die View Transform auf Raw und stimme Map Range auf einen guten, gleichmäßigen Verlauf ab.
