En este post vamos a explicar cómo utilizar POV-Ray, un potente motor gráfico, para obtener renders más reales y llamativos de nuestros diseños en Freecad.
Instalación
Lo primero que tenemos que hacer es instalar POV-Ray en nuestro ordenador. En Ubuntu podemos hacerlo desde la terminal:
1 |
sudo apt-get install povray |
A continuación seleccionamos el campo de trabajo “Raytracing” y abrimos los ajustes en “Editar->Preferencias->Raytracing” y ponemos la ruta del ejecutable, en este caso “/usr/bin/povray”.
Uso
Podemos diseñar nuestro objeto, o coger alguno ya modelado. En este artículo utilizaremos a Zowi
Cargamos el proyecto. Lo primero es dejar visibles únicamente las partes que nos interesen, ocultando el resto. POV-Ray es un poco restrictivo con los nombres de las piezas, así que vamos a cambiarlos. Nos aseguramos de que no tengan espacios ni símbolos como guiones, almohadillas o paréntesis. El resultado final quedaría así:
Ahora cambiamos la vista de ortogonal a perspectiva: “Ver->Vista perspectiva” y creamos un proyecto POV-Ray del tipo “RadiosityNormal” .
Preparamos el escenario colocando tanto a Zowi como la cámara en las posiciones que más nos gusten y guardamos la vista:
El siguiente paso es seleccionar las partes que queremos que aparezcan en la vista final. Las añadimos al proyecto pulsando el botón correspondiente.
Finalmente renderizamos el proyecto con POV-Ray pulsando el botón azul.
El resultado final quedaría algo parecido a este, dependiendo del color de las piezas:
Jugando con los valores de color de las partes y cambiando las vistas de la cámara se pueden conseguir otros resultados como estos:
También podemos ir un paso más allá y poner una imagen de fondo. Para ello, en el último paso, en vez de renderizar directamente, exportamos el proyecto como “.pov” a una carpeta temporal.
Ahí lo abriremos con un editor de textos y añadiremos al final del archivo el siguiente código adaptado para Freecad (código original aquí):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#declare cam_z = 1.5; //the amount of camera zoom you want #declare back_dist = 200; // how far away the background is #declare cam_a = 4/3; // camera aspect ratio #declare cam_s = <0,1,0>; // camera sky vectoy #declare cam_d = vnormalize(cam_look_at-cam_location); // camera direction vector #declare cam_r = vnormalize(vcross(cam_sky,cam_d)); // camera right vector #declare cam_u = vnormalize(vcross(cam_d,cam_r)); // camera up vector #declare cam_dir = cam_d * cam_z; // direction vector scaled #declare cam_right = cam_r * cam_a; // right vector scaled #declare fz = vlength(cam_dir); #declare fx = vlength(cam_right)/2; #declare fy = vlength(cam_u)/2; #macro OrientZ(p1,p2,cs) #local nz = vnormalize(p2-p1); #local nx = vnormalize(vcross(cs,nz)); #local ny = vcross(nz,nx); matrix <nx.x,nx.y,nx.z, ny.x,ny.y,ny.z, nz.x,nz.y,nz.z, p1.x,p1.y,p1.z> #end #declare back_dist = 10000; // how far away the background is box { <0,0,0> <1,1,0.1> pigment { image_map { png "fondo.png" map_type 0 interpolate 2 } } finish { ambient 0.5 } translate <-0.5,-0.5,0> scale 2*<fx,fy,0.5> translate fz*z scale back_dist OrientZ(cam_location,cam_look_at,cam_sky)} |
Copiamos a la carpeta la imagen que queremos usar y la nombramos como “fondo.png”
Abrimos una terminal e introducimos el comando
1 |
povray proyecto.pov +W800 +H600 +O"archivo.png" |
donde cambiaremos “proyecto.pov ” por el nombre que le hayamos dado al exportar de Freecad, “+W800″ y “+H600″ son las dimensiones, y “archivo.png” será la imagen final renderizada.
A Zowi le ha gustado esta imagen de la NASA y ha decidido quedarse por ahí!