crear el efecto de escape de una turbina con el nodo de desplazamiento
Por kostis karvouniaris.

Durante un tiempo, una pregunta ha circulado por los foros y listas de correo sobre un efecto poco común en aplicaciones 3d: ¿cómo simular la distorsión causada por una masa de aire caliente? Todos hemos visto esto en la vida real - La perturbación en el aire en una Carrera de fórmula 1, en el escape de un motor de un avión o sobre una hoguera. Sin embargo, para respetar la temática de este número, vamos a emplear este efecto en una escena espacial.

Renderizando el fondo.

Las entradas del nodo de desplazamiento (displace node) son relativamente simples: se necesita una imagen para ser distorsionada y un factor de desplazamiento en forma de Vector. En este ejemplo he usado un generador de partículas para cada motor, el cual generara una serie de imágenes en blanco y negro que uso como factor de desplazamiento para el nodo. ¿confuso? Sólo sigue los pasos y todo se aclarara. Por razones de simplicidad y velocidad, esta es una escena estática. La nave esta calentando motores, lista para despegar, lo qué significa que sólo tengo que renderizar la imagen del fondo una vez. Y entonces utilizar esa imagen en todos los fotogramas de la secuencia. Las partículas son los únicos elementos animados.

Abre el archivo engine_warmup_start. La escena está preparada e iluminada, así que, aprieta el botón de render. Ten en cuenta que la escena postura mucho detalle y luces, así que, llevara un tiempo que se complete el render. La parte positiva es que sólo hay que hacerlo una vez, y la calidad de la imagen define enormemente el resultado final. Así que has café, y cuando la imagen se complete guárdala como viper, png. Te habrás fijado que los elementos que forman la escena están en las 3 primeras capas, así que, sólo se renderizan esas capas.



Figura 1:capas de renderizado del fondo
Creando las partículas
Se supone que cada motor produce una estela de calor, así que, le daremos a cada uno un generador de partículas. Añade un plano, llámalo particle_emitter_1, pulsa Alt+r para borrar su rotación, rótalo para colocarlo en posición vertical, y colócalo dentro del motor izquierdo justo detrás de las luces azules que iluminan el fuselaje.



Figura 2: colocando el primer emisor de partículas
Ahora presiona f7 un par de veces para activar la ventana de efectos, y configura un sistema de partículas con las siguientes opciones (las siguientes las logré experimentando, así que, haz lo mismo si lo ves conveniente).
  • amount (cantidad): 8520 (necesitaremos unas cuantas)
  • start frame (cuadro inicial): -100 (queremos dar la impresión de que los motores ya estaban funcionando antes del inicio de la animación)
  • end frame (cuadro final): 1000 (para aquellos que quieran extender la duración de la animación)

Configura las partículas para ser emitidas tanto desde vértices y Faces, con una velocidad normal inicial de 0.44 y un factor random 0.05. Recuerda, las variaciones son siempre necesarias (esto causara que las partículas se extiendan mientras recorren el fuselaje, justo como lo haría una masa de gas real).



Figura 3: opciones de partículas
Como de costumbre, el siguiente paso es configurar el material. Pulsa f5, luego presiona halo en la sección render pipeline. Configura el tamaño del halo a 0.180 (este tamaño es muy importante y más tarde explicaré por qué), y después configura el color del halo a blanco puro. En este punto te habrás dado cuenta que el color del cielo en los botones de world (mundo) es negro. Necesitamos todo el contraste que podamos obtener de la imagen renderizada de las partículas para el nodo de desplazamiento para lograr el efecto adecuando.

Como último detalle, mientras estamos en el cuadro 1 pulsamos i e insertamos una alpha key. Vamos al cuadro 25, ajustamos alpha a 0 e insertamos otra key (clave). Hacemos esto porque queremos partículas que se desvanezcan mientras se alejan del emisor. Ajustamos la curva de animación si pensamos que es necesario.

Ahora tenemos el generador de partículas completamente preparado. Con el seleccionado, pulsamos y lo movemos a la capa 4. Ahora necesitamos dos más, para los otros dos motores. Duplicamos (con mayúsculas + D) el emisor de partículas un par de veces y colocamos los nuevos emisores en sus respectivas posiciones. No crees copias con Alt+d, ya que es mejor modificar las características de cada emisor individualmente (para desincronizar los valores de inicio), de esta forma cada sistema de partículas tendrá su comportamiento propio en cada cuadro.

Establece el valor de inicio del segundo emisor a -104 y -110 para el tercero. Si todo ha sido correcto, deberías obtener un resultado parecido al del cuadro 1 (sólo las capas 3 y 4 son visibles) nota: en el esperado rediseño de los sistemas de partículas -el próximo gran hito en el desarrollo de Blender- Habrá muchas más geometrías de partículas (por ejemplo, cruces). Por ahora deberías ver todos los puntos blancos dentro de los motores. Esforzaros más.



Figura 4: todos los emisores de partículas en acción
Pulsa Alt+a para ver la animación. Las partículas salen de la nave con velocidad y variación suficiente, así que, rendericémoslas. Pulsa f10 y establece el end frame a 100. Eso debería darnos 4 segundos de animación, suficiente para demostrar el efecto.

Sin embargo, recuerda que sólo queremos renderizar las partículas, no el resto de la escena. En la pestaña de render layers, pulsa sólo el botón de la capa 4. Luego pulsa el botón Anim para obtener la secuencia. Aunque vayan a ser un centenar de cuadros, se renderizarán mucho más rápido que la imagen de fondo - son sólo partículas, y no son muchas en cada cuadro. En cuanto termine, podrás pasar a la parte interesante.



Figura 5: capa de render de partículas
Juntándolo todo
Ahora deberías tener la imagen viper, png y una serie de 100 imágenes con nombres como 0001.png, 0002png, en tu carpeta c:\tmp o dónde sea que almacenes los renders de Blender. Pulsa Control + x para limpiar la escena y empezar con la composición. Lo primero de todo, establece las dimensiones de salida como 800x450, al igual que nuestras imágenes. Pon el end frame a 100, pulsa el botón do composite y elige avi como formato de salida y un códec, así como un nombre para el archivo resultante final.

Cambia a una ventana tipo editor de nodos y pulsa el pequeño botón a la derecha en la cabecera, que cambia la ventana de nodos de composición. Después, ve al nodo render result, para trabajar ahora sólo con las imágenes anteriormente prerenderizadas. Añade un nodo input- Image y carga el fichero viper, png. Añade un nodo distort-displace y conecta la salida del nodo image a la entrada image del nodo displace. Seguidamente conecta el resultado del nodo displace al nodo composite. Añade otro nodo image y ahora elige la primera imagen renderizada de las partículas, 0001.png. Como es la primera de una secuencia de imágenes, debemos informar de ello a Blender. Pulsa el pequeño icono con forma de cara gris en la parte inferior derecha del nodo image y escoge sequence. Ahora Blender usara una imagen diferente para cada cuadro, otra esperada mejora de la versión 2.43.

Nota: has definido manualmente el número de imágenes en la secuencia, en este caso 100. Conecta la salida en la entrada Vector del nodo displace. Cambia los valores x e y a 7 (ni demasiado exagerado, ni demasiado sutil), y ya lo tienes. Los valores de blanco en las imágenes de las partículas son multiplicados por los valores x e y para obtener la cantidad de desplazamiento.



Figura 6: configuración de nodo principal.

Podemos hacer que sea visualmente más impactante si no nos limitamos a un solo factor de desplazamiento, como la secuencia de partículas, que rara vez resultara perfecta. Afortunadamente, podemos cuidar este aspecto de una manera fácil. Vamos a usar la misma secuencia de partículas con un pequeño desfase (2), para añadir cierta profundidad al desplazamiento y así tapar posibles huecos. Por lo que añade un nodo displace más y otro nodo image, y configúralos de esta manera. Ten cuidado: el segundo nodo no tendrá imágenes en los 2 últimos cuadros debido al desfase, así que, asegúrate de pulsar el botón cyclic y volverá a usar las imágenes desde la primera, una vez llegue al final.



Figura 7:configuración del nodo secundario.

Fíjate que en el segundo desplazamiento sus valores son múltiplos de 3, en lugar de 7, ya que sólo es un efecto de soporte. Igualmente, de ninguna manera querríamos que se cancelara el efecto del primer nodo. Ahora estas en condiciones de pulsar el botón Anim de nuevo. Cuando el vídeo esté listo, puedes ejecutarlo en tu reproductor poniéndolo en ciclo continuo. El movimiento de las partículas es aleatorio, por lo que no podrás diferenciar cual es el comienzo o el final del vídeo.

Aspectos a los que prestar atención especial.

Como he explicado anteriormente, la cantidad de blanco en la imagen que se usa como entrada en el nodo de desplazamiento (o mejor dicho, la cantidad de luminosidad) es lo que define cuanta distorsión habrá realmente en la imagen.

Otro aspecto importante que queremos para el efecto, sin embargo, es una constante variación de los valores de color en cualquier parte de las imágenes de las partículas. No basta con tener zonas blancas en la imagen a lo largo de la secuencia, ya qué significa una distorsión constante. Durante la animación parecerá que no hay ninguna distorsión. Lo que necesitamos es un cambio constante en la distorsión. Esta es la razón por la que necesitamos un tamaño de partícula pequeño, para que haya continuas alteraciones entre el blanco y el negro, o valores intermedios, que provoquen el efecto de parpadeo en la imagen. Este ejemplo te lo va a aclarar.

En la figura 8, la imagen de la izquierda muestra nuestras partículas con un tamaño de 0.180 (botones material). En la derecha se han renderizado con un tamaño de 0.280. En las áreas marcadas en rojo, el color será continuamente blanco a lo largo de la secuencia, por lo que no tendrá el efecto deseado.



Figura 8: diferencia en el tamaño del halo.

en conclusión
Ten presente que el nodo de desplazamiento puede usar cualquier geometría como entrada, no sólo imágenes, lo que amplia sus posibilidades de uso. Esto es una mejora importante de la nueva versión de Blender. Una aplicación práctica de esto podría ser el efecto de hombre invisible, o cualquier otra cosa que haga su presencia perceptible, sólo por la mera distorsión del fondo. Usa tu imaginación, y continúa blendeando. Gracias a la gente de blendergaláctica, com por los valiosos modelos del viper y su entorno.



El nodo de desplazamiento en acción.

Kost is karvouniaris tengo 25 años y soy estudiante de derecho en Grecia. Llevo usando Blender como hobby unos 4 años y aún me maravillo de los avances en su desarrollo. neogen556@yahoo, gr.
www.blenderart.org.