‘Exploración espacial’, un proyecto de animación 3D con Povray. (Parte1)

'Paisaje nevado': (ExploraciónEspacial.png)
'Paisaje nevado': (ExploraciónEspacial.png)

Este artículo será el primero de una serie de ellos en los cuales iremos elaborando paso a paso un proyecto de animación con Povray que llamaremos “Exploración Espacial” y que será suficientemente completo como para ilustrar un amplio repertorio de técnicas, muchas de las cuales no las habíamos comentado anteriormente.

El contenido del artículo y de sus ficheros son de libre uso bajo licencia GPL. Las imágenes se incluyen a resolución completa para que se puedan usar junto con el fuente de Povray que en esta primera parte es muy sencillito.

Para esta serie de artículos asumiremos que ya tiene algo de experiencia en el uso de Povray. En caso contrario se recomienda practicar con los tutoriales anteriores.

Gaviones una mirada retrospectiva:

Gaviones
Gaviones

Gaviones fue mi primer vídeo con cierta complicación técnica debida a las limitaciones con las que tuve que trabajar. Lo desarrollé en 1998 y en aquel entonces Povray carecía de muchas de las facilidades actuales para generar animaciones. Para colmo la lentitud de los ordenadores de aquella época resultaba un grave inconveniente.

Este proyecto “Exploración Espacial” tiene bastante que ver con aquel “Gaviones” ya que tratará de persecución de naves espaciales por un terreno con un relieve accidentado. En Gaviones no necesité hacer una ruta muy precisa ya que el escenario era un archipiélago, mis gaviones volaban alto, y lo que hice fue orientarme muy a grosso modo dibujando una cuadrícula que podía superponer encima del escenario (el archipiélago).

En esta ocasión pretendo que las naves recorran un angosto valle a poca distancia de las paredes del mismo para crear un efecto visual más interesante.

El Terreno:

La Isla de Macaula, (otro proyecto del cual ya hablé) la dibujé entera y en ese proyecto ya se explicó ampliamente el uso de la primitiva ‘height_field’ que también usaremos ahora.

Terreno1
Terreno1.png

Terreno2
Terreno2.png

En esta ocasión la usaremos suministrando un terreno que se ha construido inicialmente en Gimp con el siguiente procedimiento:

  1. En una imagen de 2000×2000 pixels se aplicó una función plasma: Filtros–>Renderizado–>Nubes–>Plasma.
  2. Luego lo pasamos todo a tono de grises usando: Colores–>Tono y saturacion –> Saturación=-100 (Veasé imagen Terreno1.png)
  3. Por último con el spray se dibujó en blanco un circuito con forma similar a un ocho (Veasé Terreno2.png). Esto nos dará el relieve.

La altura del terreno queda marcada por la oscuridad de cada pixel.

Falta colorearlo. Para ello pensé inicialmente darle unos tonos rojizos al terreno simulando así un terreno marciano, pero me quedó un pelín soso.

'Pigmentación desertica': (pigment0)
'Pigmentación desértica': (pigment0.png)

Paisaje desértico (ExploracionEspacial0.png)
Paisaje desértico (ExploracionEspacial0.png)

Véanse las imágenes: ‘Pigmentación desertica’: ‘pigment0.png’; ‘Paisaje desértico’: ‘ExploracionEspacial0.png’.

Decidí entonces espolvorear un poquito de nieve en las cumbres y otro poco en la parte baja del valle. Véanse las imágenes ‘Pigmentación nevada’: ‘pigment.png’ y ‘Paisaje nevado’: ExploraciónEspacial.png’.

 Pigmentación nevada (pigment)
Pigmentación nevada (pigment)

'Paisaje nevado': (ExploraciónEspacial.png)
'Paisaje nevado': (ExploraciónEspacial.png)

Para conseguir una correcta iluminación he tenido que crear numerosos puntos de luz repartidos circularmente en la periferia del terreno. Esto lo he hecho con un bucle while.

((ExploracionEspacial_V.0.1.pov))

#include "colors.inc"

light_source{ <-50,20,-50> White}  // * Luz principal

#declare Amb=0.025;
light_source{ <0,2000,0> White*Amb} // Luz tenue perpendicular al terreno
#declare ang=360;
#while (ang >0) // Luces tenues perimetrales
	 light_source{ <3000,5000,3000> White*Amb rotate ang}
	 light_source{ <3000,1000,3000> White*Amb rotate ang}
	 #declare ang=ang-30;
#end

camera{
    location <-2, 2, 5>
    look_at  <1, 0.1, 7>
    right <1,0,0> // **
    angle 60
}

object {
       height_field {
		png "terreno2.png"
        	smooth
		texture{
	        	finish { ambient 0.2 diffuse 0.8}
        		pigment { image_map { png "pigment.png"  } }
        		rotate x*90
		}
	}
	translate <-0.5,-0.5,-0.5> // Terreno centrado en <0,0,0>
	scale <40, -5, 40>
}

Conclusión:

Todo esto lo he hecho en primer lugar porque es interesante averiguar el potencial estético del escenario antes de continuar construyendo sobre él, pero para continuar desarrollando eliminaremos muchas cosas que retrasan el proceso de renderizado.

Para hacer ensayos de prueba y error hay que agilizar al máximo el proceso de renderizado. Eso se logra trabajando con resoluciones más bajas, el terreno lo usaremos sin suavizar y con un color uniforme blanco, y también usaremos un solo foco de luz. No tendrá el mismo aspecto pero nos permitirá ver lo que hacemos.

Es importante que tengamos esta referencia visual previa del aspecto final que deseamos obtener antes de continuar construyendo más cosas sobre este escenario, porque sobre él trazaremos una ruta y no podemos estar haciendo cambios más adelante.

Dejamos el tema del trazado de la ruta, que debe ajustarse con la máxima precisión al terreno para un artículo posterior.

Share

2 thoughts on “‘Exploración espacial’, un proyecto de animación 3D con Povray. (Parte1)

  1. Mario Antonio, perdona que me tomara la libertad de editar tu comentario, pero había una errata en mi nombre. Os agradezco sinceramente la referencia así como cualquier crítica constructiva que os apetezca hacer.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*