Jorge Pedraza
← Volver al blog

De fondos pre-renderizados con IA a escenarios 3D: la historia de una decisión

Cuando empecé a desarrollar mi RPG cyberpunk en solitario, tenía una visión muy clara en la cabeza: fondos pre-renderizados generados con inteligencia artificial, al estilo del Blade Runner de 1997 o los Resident Evil clásicos.

blade runner 1997
Imagen in-game de Blade Runner 1997 utilizando fondos pre-renderizados

Cámaras fijas, encuadres cinematográficos, el personaje moviéndose sobre una imagen estática con toda la atmósfera del mundo. Suena increíble, ¿verdad? Lo es. Hasta que te pones a hacerlo.

Este post cuenta la historia real de cómo pasé semanas experimentando con distintas herramientas de IA generativa, luchando contra un problema que ninguna de ellas resolvía del todo, y cómo al final tomé la decisión de abandonar ese enfoque para construir mis escenarios en 3D con Unity y ProBuilder.

La idea original: el sueño cinematográfico

Mi primer setup en Unity 6 era sencillo y elegante. Una imagen de fondo (un Quad 3D con material Unlit), la cámara calibrada con fSpy para que coincidiera con la perspectiva de la imagen, y la geometría de colisión construida en ProBuilder con el Mesh Renderer desactivado.

fSpy camera configuration pre-rendered background
fSpy camera configuration pre-rendered background
Pre-rendered backgrounds with Midjourney and Unity 3d
Pre-rendered background. Unity 3d UI añadiendo bloques invisibles.

El personaje se movía por encima, y cuando necesitaba que pasara por detrás de un objeto del fondo (un contenedor, una barra, una columna), usaba Quads de oclusión recortados por capas.

Prueba de concepto: personaje moviéndose sobre fondo pre-renderizado.

El sistema funcionaba. El problema era otro: generar los fondos.

Midjourney: calidad brutal, control nulo

Mi primera herramienta fue Midjourney, que en ese momento estaba en la versión 7. La calidad visual era espectacular. Escribías un prompt pidiendo un callejón cyberpunk con neones, asfalto mojado y niebla volumétrica, y te devolvía una imagen que parecía sacada de una película de Ridley Scott.

El primer fondo que generé fue un bar interior. Iluminación cálida, neones naranjas y azules, suelo con reflejos… estaba encantado. Me gasté unos 4 dólares en créditos iterando variaciones.

Pero cuando intenté generar la segunda escena, un exterior nocturno, empezaron los problemas. El ángulo de cámara era completamente diferente. Pedías un “high angle shot” y te daba una foto a nivel de suelo. Probé con “bird’s eye view”, “drone shot”, “overhead shot”, “camera tilted downward at 45 degrees”… A veces funcionaba, a veces no.

Midjourney image - prerendered game background
Imagen de Midjourney, prompt utilizado:
Realistic top-down perspective, dron angle shot of a cyberpunk metro station at night lined with towering neon-lit skyscrapers opens, a white train is in the station, wet asphalt reflecting neon signs, ground plane, Shot on Kodak Vision3 500T film, 35mm lens, grainy, cinematic lighting, dirty lens flare, hyper realistic textures, Blade Runner aesthetic, playable game environment

Exploré los parámetros de Midjourney: --sref para mantener consistencia de estilo, --cref para referenciar composición y ángulo, --style raw para que fuera más literal. Incluso seguí técnicas de blogs especializados para generar assets isométricos con proyección ortográfica a 30 grados. El resultado era bonito, pero la consistencia entre escenas era una lotería. Y encima, el estilo de interior no casaba con el exterior por la iluminación. El --sref mantenía la paleta de colores, pero no entendía que quería consistencia de mundo.

También estaba el tema de la escala. Para una demo jugable necesitaría como mínimo entre 15 y 30 fondos. Para un juego completo, cientos. Con cada fondo requiriendo iteraciones para encontrar el ángulo correcto, los créditos y el tiempo se multiplicaban sin garantía de resultado.

ComfyUI y Stable Diffusion: control total, calidad insuficiente

Si Midjourney era calidad sin control, Stable Diffusion era lo contrario. Me monté un entorno local con ComfyUI, descargué Juggernaut XL como modelo base, instalé ControlNet con modelos de Depth para SDXL y empecé a experimentar.

La idea era generar un depth map desde Unity (una captura en escala de grises de la geometría de mi escena) y usar ControlNet para forzar que la imagen generada respetase esa perspectiva exacta. Y funcionaba: el ángulo quedaba clavado. ControlNet hacía su trabajo impecablemente.

Depth map generado desde Unity 3d
Depth map generado desde Unity 3d pasado por Gemini

El problema era todo lo demás. La calidad de los entornos generados no llegaba ni de lejos a Midjourney. Los colores parecían de arte digital, las texturas eran repetitivas, todos los edificios parecían iguales. Juggernaut XL estaba optimizado para personas, no para arquitectura. Probé otros modelos como DreamShaper XL y RealVisXL, ajusté prompts negativos agresivos para evitar el aspecto de ilustración, añadí LoRAs de estilo cyberpunk… Mejoraba, pero seguía sin convencerme.

Stable diffusion background
Pre-rendered background generado en Stable Diffusion a 1024x1024. Localmente en mi PC.

Con mis 8GB de VRAM las generaciones tardaban un minuto y medio para 1080p. Para 4K necesitaba un pipeline de upscaling con modelos como RealESRGAN, añadiendo complejidad al workflow.

También probé Flux, la alternativa de Black Forest Labs, pero con mi hardware iba muy justo y el ecosistema de ControlNets y LoRAs era todavía limitado comparado con SDXL.

Gemini Pro Image (Nano Banana Pro): el casi perfecto

Entonces descubrí que Gemini 3 Pro Image de Google estaba disponible en ComfyUI bajo el nombre en clave “Nano Banana Pro”. La calidad era excelente, cercana a Midjourney, y con un precio razonable: 0,24 dólares por imagen en 4K, 0,13 en resoluciones menores. Para 50 fondos hablábamos de 6 a 12 dólares en total.

Hice una prueba directa: le pasé un depth map y un prompt cyberpunk. La imagen que generó respetaba bastante bien la geometría. Los volúmenes principales, la perspectiva, la profundidad relativa… todo cuadraba. Se inventaba detalles (aires acondicionados, cables, neones que no estaban en el depth map), pero eso era bienvenido.

Gemini Nano Banana Pro background
Pre-rendered background generado a partir del depth map en Nano Banana Pro. Desde la interfaz de Gemini.

Lo más interesante fue cuando probé a darle imágenes de referencia directamente. Subí varias capturas de Midjourney con ángulos top-down, algún depth map, screenshots de Diablo IV y otros juegos isométricos. El resultado fue brutal: ángulo consistente, atmósfera Blade Runner perfecta, neones variados, suelo mojado con reflejos. Llegué a generar tres vistas del mismo callejón con una coherencia visual muy sólida.

Depth map generado a partir de la construcción de un escenario en Unity 6 con ProBuilder
Depth map generado a partir de la construcción de un escenario en Unity 6 con ProBuilder
Gemini Nano Banana Pro background
Pre-rendered background generado a partir del depth map en Nano Banana Pro. Desde la interfaz de Gemini.

Pero había un “pero”. Gemini estaba “promediando” los ángulos de todas las referencias. Si no le daba imágenes con exactamente el mismo ángulo, el resultado variaba. Dónde acababa exactamente la cámara era un poco lotería. A veces el ángulo era perfecto, a veces se desviaba unos grados que rompían la ilusión.

Intenté combinar lo mejor de ambos mundos: ControlNet de ComfyUI para forzar la geometría con Nano Banana Pro para la calidad visual. En teoría era la combinación perfecta. En la práctica, la tecnología aún no estaba del todo madura para este caso de uso tan específico.

El verdadero problema: la consistencia

Después de semanas experimentando, el diagnóstico era claro. Existía una tabla mental que me perseguía en cada sesión:

HerramientaCalidadControl de cámara
MidjourneyExcelenteBajo
ControlNet + Stable DiffusionMediaAlto
Gemini Pro ImageMuy buenaBajo

Ninguna herramienta combinaba calidad fotorrealista con control preciso de perspectiva. Y para un juego con cámara fija, el ángulo no puede variar ni un grado entre escenas, porque los personajes 3D de Character Creator 5 se mueven en un espacio real y necesitan coincidir con el fondo.

Además estaba el problema del matching de iluminación. Cada fondo generado por IA tenía su propia iluminación. Para que los personajes 3D no “flotasen” sobre la imagen, había que configurar manualmente las luces de cada escena para que coincidieran con las del fondo. En el bar, luces naranjas desde la izquierda, azules desde la derecha. En el callejón, otra configuración completamente distinta. Multiplicado por decenas de escenas, el trabajo manual era inasumible para un desarrollador solo.

La decisión: 3D isométrico con Unity y ProBuilder

Un día, mientras luchaba por conseguir que la enésima imagen tuviera el ángulo correcto, me di cuenta de algo obvio:

Estaba invirtiendo más tiempo peleando con las herramientas de IA que construyendo el juego.

Tomé la decisión de abandonar los fondos pre-renderizados y pasar a construir mis escenarios directamente en 3D. Vista isométrica con cámara fija en perspectiva (no ortográfica), construido con ProBuilder. El mismo ángulo de cámara que tanto me había costado replicar con IA, ahora lo tenía configurado una vez y servía para siempre.

Las ventajas eran evidentes:

  • Consistencia gratis: misma cámara, mismo ángulo, misma iluminación en todas las escenas.
  • Modularidad: podía crear un kit de piezas (suelos, paredes, esquinas, puertas, escaleras) y reutilizarlas para construir niveles rápidamente.
  • Iluminación natural: los personajes de CC5 vivían en el mismo espacio 3D que el entorno, así que la iluminación funcionaba sin ajustes manuales.
  • Control del scope: en vez de depender de la calidad del output de una IA, dependía de mi propio trabajo, que podía iterar y mejorar.

Lo que perdía era ese acabado cinematográfico hiperrealista que Midjourney conseguía con un solo prompt. Pero descubrí que para una vista isométrica a cierta distancia, no necesitaba ese nivel de detalle. Las texturas generadas con IA a 256 píxeles quedaban sorprendentemente bien aplicadas sobre geometría 3D, y los exports de baja calidad de Character Creator 5 eran más que suficientes cuando la cámara no se acerca.

La IA sigue presente, pero en su sitio

No he abandonado la IA generativa. Sigue siendo parte esencial de mi pipeline, pero en un rol diferente. Uso Gemini y Midjourney para generar texturas, carteles publicitarios para las calles del juego, anuncios de televisión para las pantallas del mundo, contenido de worldbuilding que enriquece el universo de mi novela “Babel: El último turno”. Propaganda corporativa, avisos de toque de queda, carteles de personas desaparecidas… todo suma al lore sin necesidad de un ángulo de cámara preciso.

La IA es brillante para generar contenido visual cuando no necesitas control geométrico exacto. Para texturas, para concept art, para elementos decorativos. Donde falla es exactamente donde yo necesitaba que funcionara: en la generación consistente de entornos completos con perspectivas controladas.

Lo que aprendí

Si estás pensando en usar fondos pre-renderizados generados con IA para tu juego, esto es lo que me habría gustado saber desde el principio.

La tecnología es impresionante pero no está lista para este caso de uso concreto. ControlNet resuelve el control geométrico pero sacrifica calidad. Midjourney y Gemini dan calidad pero sacrifican control. Ninguna combinación actual resuelve ambos problemas a la vez de forma fiable.

Para un desarrollador en solitario, la consistencia visual es más importante que la calidad pura. Un entorno 3D modesto pero coherente transmite más profesionalidad que fondos espectaculares donde cada escena parece de un juego diferente.

El scope importa. Si necesitas 5 fondos para una demo, quizá el enfoque pre-renderizado es viable con mucha paciencia y Photoshop. Si necesitas decenas o cientos, construir en 3D es más sostenible.

Y lo más importante: no pasa nada por cambiar de enfoque a mitad de camino. Esas semanas de experimentación no fueron tiempo perdido. Aprendí a usar ComfyUI, ControlNet, depth maps, y encontré un pipeline de generación de texturas y assets decorativos que sigo usando a diario. El camino no fue recto, pero cada desvío dejó herramientas útiles.

La tecnología avanza rápido. Quizá en un año esta historia sea diferente y exista la herramienta que combine calidad Midjourney con el control de ControlNet. Pero hoy, para mi juego, la decisión correcta fue coger ProBuilder y construir mis propios callejones cyberpunk, ladrillo a ladrillo.