Esto es un curso completo en una sola guía: instala Stable Diffusion, bloquea una sala en Blender, genera una sala medieval fotorrealista a partir de su profundidad, proyecta esa imagen de vuelta sobre la sala 3D y luego pon dentro un modelo 3D real, iluminado y con sombras a juego, con un breve movimiento de cámara. La idea es una sala de exposición para un objeto. No tiene por qué ser medieval; puede ser de ciencia ficción o de cualquier otra cosa.
Todo aquí es gratuito. Necesitas un portátil gaming razonablemente reciente (de tres o cuatro años sirve) con una tarjeta NVIDIA.
En resumen
- Stable Diffusion: interfaz web de AUTOMATIC1111 con epiCPhotoGasm y la extensión ControlNet, preprocesador depth_zoe, control weight 0,7.
- Blender: una sala de cajas con formas sencillas biseladas, una cámara de 18–24 mm, un pase de profundidad Z guardado como PNG de 16 bits y ligeramente desenfocado.
- Proyección: shader Background, materiales enlazados, mallas subdivididas, UV Project from View.
- El objeto: un modelo gratuito de Sketchfab, con color igualado, un shadow catcher, light linking y bloom.
La guía del faro explica con más detalle la parte de profundidad a render. Lo nuevo aquí es el objeto y hacer que encaje en la imagen de IA.
1. Instala Stable Diffusion (AUTOMATIC1111)
- Instala Python y Git para Windows desde los enlaces del README de la interfaz web: instalaciones estándar, haz clic en OK hasta el final.
- Crea una carpeta en tu unidad C:, haz clic en la barra de direcciones del Explorador, escribe cmd y pulsa Enter.
- Pega la línea
git clonedel README y pulsa Enter. - Ejecuta
webui-user.bat. El primer arranque descarga muchos paquetes y puede tardar de 10 a 20 minutos.
Modo oscuro: clic derecho en webui-user.bat → Edit, añade --theme dark a los argumentos de línea de comandos, guarda y vuelve a ejecutarlo.
Modelos
La interfaz web puede venir con Stable Diffusion 1.5. En aquel momento, el más nuevo era Stable Diffusion 3.5 en Hugging Face (necesitas una cuenta): Medium es el mejor para hardware de consumo, con unos 5 GB; Large y Large Turbo ocupan unos 16 GB cada uno.
Yo usé epiCPhotoGasm de Civitai. Pon los archivos de modelo en models/Stable-diffusion y haz clic en el botón de actualizar junto a la lista de modelos. Prefiere los archivos .safetensors: a diferencia de .ckpt, no pueden contener código ejecutable. Cambiar de modelo tarda unos segundos, o unos 40 si el archivo es grande.
Las imágenes se guardan automáticamente; para cambiar la carpeta, pega una nueva ruta en Settings y haz clic en Reload UI.
ControlNet
Extensions → Available → Load from, busca sd-webui-controlnet y haz clic en Install. Descarga el modelo depth de lllyasviel/ControlNet-v1-1 a la carpeta de modelos de la extensión.
2. Bloquea la sala en Blender 4.3
Blender 4.3 es algo distinto de las versiones anteriores.
- Estructura: Shift+A → Cube, escalado a proporciones reales (unos 2 × 4 m). En Edit Mode, pulsa 3 para seleccionar caras, borra las caras superiores y muévelo para añadir profundidad.
- Techo abovedado: selecciona aristas, Ctrl+R para bucles de aristas (usa la rueda para añadir más) y luego usa la edición proporcional (G, rueda, Z) para empujar el centro hacia arriba formando un arco. En modo rayos X, selecciona los vértices inferiores y pulsa G, Z, 0 para aplanar el suelo.
- Decoración: unos cuantos cubos para vigas y columnas (G para mover, S para escalar por eje, Shift+D para duplicar). Mantenlo discreto: deja a la IA margen para pensar por sí misma.
- Biselar todo. Selecciona los objetos, Tab, Ctrl+B, rueda para los segmentos. Si el bisel sale desigual, los objetos se escalaron en un solo eje: deshaz, Ctrl+A → Apply Scale y luego biselar. Stable Diffusion prefiere formas más suaves, y dejan margen para la proyección más adelante.
Cámara
Pon a cero los valores de rotación de la cámara, gírala con Ctrl para ajustar y luego View → Cameras → Set Active Object as Camera y View → Lock Camera to View. Pulsa Home para llenar la pantalla con la vista de cámara.
Usa una lente ancha: 24 mm, o incluso 18, como hacen los fotógrafos inmobiliarios para que las salas parezcan más grandes.
3. Renderiza un pase de profundidad
- Output Properties: resolución 50 %. Una resolución menor se renderiza más rápido en Stable Diffusion.
- View Layer → Passes: activa Z.
- Pestaña Compositing → Use Nodes, renderiza, añade un Viewer y conecta Depth. Al principio está todo blanco.
- Inserta Map Range y arrastra sus valores hasta tener información suficiente con la que trabaje Stable Diffusion.
- Color Management → View Transform: Raw. Da un mejor degradado. Si Stable Diffusion interpreta demasiada oscuridad como lejanía, prueba los ajustes de contraste de Look; incluso el detalle que apenas ves, lo puede captar.
- Conecta Map Range al nodo Composite, renderiza y guarda como PNG, 16 bits, compresión del 0 %.
Consejo profesional: desenfoca el mapa de profundidad. En Photoshop, o gratis en Photopea (sin registro), aplica un desenfoque gaussiano de 2–2,5 px y exporta como PNG. Añade sugestión y de verdad ayuda. Más tarde lo desenfoqué entre 6 y 7 px para obtener resultados aún mejores.
4. Genera la sala
En txt2img:
- Arrastra el PNG de profundidad, fija el tamaño en 960 × 540 (si no, renderiza un cuadrado).
- ControlNet: marca Enable, tipo de control Depth, preprocesador depth_zoe. Otros preprocesadores dieron resultados extraños.
- Control weight 0,7, que da más creatividad. Con 1 se adhiere a lo que ve y puede verse feo.
- Seed 10, fija, para que el mismo prompt dé la misma imagen.
«Medieval room with window in the back» dio un resultado que no me gustó. El prompt que funcionó describía una sala de mazmorra con una ventana gótica sencilla, paredes y suelo viejos y rotos, un techo de madera con vigas de madera y una longitud de lente:
- Ventana «simple», o hacía cuatro o cinco.
- «wooden beams», o a veces se saltaba el techo de madera.
- Una longitud de lente la hacía parecer más realista. No sé por qué ayuda, pero ayuda.
Vigila el preprocesador. En un momento dado se cambió solo a depth_midas y dio resultados raros. Si las cosas se vuelven extrañas e incontrolables, comprueba eso primero.
Guarda los ajustes con la imagen: en Settings → Saving images, activa la escritura de la información de generación, y luego usa la pestaña PNG Info para enviar el prompt y el tamaño de una imagen guardada de vuelta a txt2img. ControlNet no se restaura; vuelve a ajustarlo a mano.
Escalado
Hires. fix duplica la resolución. Los escaladores Latent y SwinIR 4x dan resultados distintos, y ambos cambiaron mucho detalle; bajar la fuerza de denoising de 0,7 a 0,5 conservó más. Necesita mucha más VRAM (tuve que reiniciar primero el ordenador) y tarda de 5 a 10 minutos en lugar de segundos.
Krea tiene un plan gratuito que escala un puñado de imágenes. A 1× no me convenció, y con el método «clarity» algunas partes mejoraron y otras empeoraron, perdiendo calidez. Es útil si tu ordenador no puede escalar; con un render de 1000 px llevado a 2K hizo un buen trabajo.
Lo que enseñaron entre 200 y 300 generaciones
- Pon una ventana en el prompt. Sin una, la iluminación se veía falsa; con una, muy natural.
- «Mossy floor» da musgo; mencionar un castillo puso un castillo en el fondo.
- Un marco seguía apareciendo; añadir «frame» al prompt negativo acabó eliminándolo.
- «Mountains» en el prompt puso montañas fuera de la ventana. «White sky» pintó las paredes de blanco.
- El peso del ControlNet entre 0,5 y 0,8 cambió más los resultados. Desenfocar el mapa de profundidad entre 5 y 15 px, o añadir ruido monocromático, también ayuda: los bordes inconsistentes le dan margen. Eso parpadearía en una animación, pero aquí solo hace falta una imagen, y la animación sale de Blender.
Podría haber combinado variantes en Photoshop, y retocar siempre es una opción, pero para esto quería mostrar una exportación directa.
5. Proyecta la imagen sobre la sala
- Crea un material, selecciona todos los objetos de la sala con el que tiene la textura el último y pulsa Ctrl+L → Link Materials.
- Cambia la superficie a un shader Background: sin sombreado, sin especularidad, sin sombras. La iluminación ya está en la imagen de IA.
- En la pestaña Shading, añade un Image Texture con tu render, al color del Background.
- Cambia el view transform de Raw a AgX, o la imagen se verá muy oscura.
- Subdivide las mallas varias veces, pon la vista en la cámara, selecciona todo y pulsa UV → Project from View.
La ventana del fondo estaba ondulada porque no había geometría suficiente detrás. Borré las caras traseras y usé en su lugar una caja estirada, y proyecté de nuevo.
6. Añade un objeto 3D real
Uso Sketchfab para encontrar modelos: la vista previa 3D es muy buena, y varios museos suben escaneos que se pueden usar gratis. Comprueba la licencia en la parte inferior de cada página. Encontré una estatua de San Andrés en dominio público. Necesitas una cuenta para descargar.
- Descarga como OBJ (incluye las texturas), descomprime y File → Import → OBJ. Muévelo, gíralo y escálalo hasta colocarlo.
- En la pestaña Shading, añade tres nodos Image Texture: color → Base Color, roughness (non-colour) → Roughness, normal (non-colour) → un nodo Normal Map → Normal.
- Iguala el color: añade Hue/Saturation después de la textura de color. Desplaza el tono ligeramente hacia la luz cálida y rosada de la sala, y baja la saturación y el valor. Lleva su tiempo encontrar la combinación que haga que encaje.
7. Ilumínala para que coincida con la sala
Con Eevee, añade luces que imiten la imagen de IA:
- Principal: una luz donde está la ventana. Cambié la luz puntual a una luz de área para un reflejo más amplio; también crea una luz de contraluz por detrás.
- Relleno: una segunda luz mucho más tenue desde el frente, para simular la luz de rebote de la sala.
- Rostro: la luz puntual por defecto de la escena, movida al rostro (coloca el cursor 3D con Shift+clic derecho, luego Shift+S → Selection to Cursor). La mía acabó en unos 11 W.
- Color: haz las luces ligeramente amarillo-rosadas como la sala; el cuentagotas puede tomar muestras del fondo.
8. Un shadow catcher
Sin sombras, la estatua parece falsa. Añade un plano debajo y dale este material:
- Transparent BSDF y Diffuse BSDF a un Mix Shader (factor 0 = transparente, 1 = difuso).
- Un segundo Diffuse BSDF (blanco) → Shader to RGB → el factor de Mix. Intercambia las entradas del mix si la sombra sale invertida.
- En los ajustes del material, cambia el método de render de Dithered a Blended.
Para ocultar el borde del plano, gíralo ligeramente en X y muévelo hasta que se encuentre con la geometría. Mover la luz principal también cambia lo visible que es el degradado.
Light linking (nuevo en Blender 4.3) evita que algunas luces aclaren la sombra: en Object → Shading → Light Linking de la luz, haz clic en New, arrastra el plano del shadow catcher y desmárcalo. Lo hice con la luz principal y con la luz del rostro, y la sombra se volvió mucho más oscura. Es un truco, pero ocultar cosas así es muy común en producción.
El color del mundo también cambia las sombras. El negro puro elimina la luz ambiente gris; el blanco lo ilumina todo. Usé un color más oscuro y ligeramente marrón para que coincidiera con la sala.
9. Bloom y un aspecto más suave
Blender 4.3 cambió el bloom. En la pestaña Compositing, añade un nodo Glare, ponlo en Bloom y conecta el render a través de él al Viewer y al Composite. Para verlo en el viewport, pon el compositor en Always en el menú emergente de Shading. Baja el umbral a tu gusto. El bloom también afecta al fondo de IA, lo que añade dimensión e inmersión.
De vuelta en el material de la estatua, un nodo Brightness/Contrast con algo menos de contraste da el aspecto más suave y ligeramente desvaído del fondo. Pulsa M sobre el nodo para silenciarlo y comparar.
10. Anima la cámara
- Divide la vista, pulsa Numpad 0 y bloquea la cámara a la vista.
- Activa el auto keying, mueve la cámara y se pone fotogramas clave sola. Ve al fotograma 60 y acércate al rostro de la estatua. La rotación no se puso fotograma clave la primera vez, así que haz clic derecho → Insert Keyframe también en la rotación.
- Pon fotograma clave a la distancia focal para un zoom a una lente de retrato.
- Profundidad de campo: actívala en la cámara, enfoca el objeto o fija la distancia de enfoque (0,1 m de cerca, unos 2 m al principio) y ponle fotograma clave. Baja el f-stop para más desenfoque.
- Estiré el movimiento hasta el fotograma 250 para ralentizarlo, reduje un poco el glare y bajé la luz del rostro.
Para ir más rápido, rendericé directamente a un vídeo MPEG en lugar de a una secuencia de PNG. Guarda antes de renderizar.
Hice otras versiones del mismo modo: una sala de temática egipcia con otro objeto de Sketchfab, y una sala de otra época con una silla sencilla en el centro.
Ver la versión en vídeo (48:21)
Todo lo anterior también está en el vídeo, si prefieres seguirlo en pantalla. El vídeo está en inglés.
Preguntas frecuentes
¿Cómo consigo que un modelo 3D parezca pertenecer a un fondo generado con IA?
Iguala el color de sus texturas con un nodo Hue/Saturation, ilumínalo con luces cálidas que imiten la sala (principal, de contraluz y un relleno tenue), añade un shadow catcher para que proyecte sombras sobre el suelo proyectado y suavízalo con un nodo Brightness/Contrast y bloom.
¿Por qué la proyección de cámara se ve torcida?
La geometría tiene muy pocos polígonos. Subdivide las mallas varias veces y vuelve a proyectar las UV desde la vista de la cámara.
¿Ayuda desenfocar el mapa de profundidad para Stable Diffusion?
Sí. Un desenfoque gaussiano de unos pocos píxeles (usé 2–7) le da más margen de interpretación. Desenfocar mucho, o añadir ruido, puede ayudar en una sola imagen, pero parpadearía en una animación.
¿Qué modelo de Stable Diffusion 3.5 cabe en una GPU de consumo?
Medium, de unos 5 GB. Large y Large Turbo ocupan unos 16 GB cada uno.
