Posts tagged ‘niebla’

Efecto Niebla en Blender Game Engine

Uno de los mayores problemas que hemos encontrado a la hora de diseñar los distintos escenarios para el proyecto Extreventura reside en la profundidad de los escenarios exteriores. Esto es, el hecho de representar el infinito en las escenas que se desarrollan en el exterior. Así, encontramos distintas soluciones a dicho problema: la más simple de todas, crear un plano gigante y literalmente plasmar una foto de lo que pretendíamos que fuera el horizonte. Por otro lado, crear un horizonte de montaña, interponer objetos de forma disimulada para que el horizonte no se pudiera contemplar claramente, crear una niebla que nos oculte lo que existe más lejano que la distancia deseada… Esta última solución es que la que se explica en este documento. No conviene abusar de ella, porque resultaría bastante cargante y repetitivo, pero para algunas escenas exteriores, montañosas, laderas de río, realmente es una solución efectiva. Todo esto, claro está, si se usa un engine que no cuente con mejores soluciones. Por otro lado, si se desea también se puede modelar el horizonte, pero es una carga bastante innecesaria.

captura2.jpgCaptura 1

Como podemos ver en esta primera fotografía, existen dos efectos en esta fotografía. Primeramente, existe una niebla bastante densa grisácea, que nos impide ver correctamente la torre del fondo. Esta niebla, como podemos ver en la siguiente fotografia, se crea de una manera muy sencilla.

howto3.jpgCaptura 2

Activaremos el botón Mist, para que la niebla se procese. Los siguiente tres botones especifican la forma en la que queremos que la niebla se degrade cuando nos vamos alejando de ella. El valor Sta define donde queremos que comience la niebla, y el valor Di la distancia que debe de procesarse. Esto es, que los objetos que estén más lejos de Sta+Di no se van a ver. El valor Hi sirve para especificar como queremos que la niebla vaya desapareciendo con la altura. El valor Misi especifica la intensidad de la niebla. De esta manera ya tendremos el efecto de la niebla que podemos ver en la fotografía superior.

El efecto de cúmulos de humo que podemos ver en la foto es algo más complicado. Se explica a continuación de forma básica para no extendernos excesivamente. Quizás en otro post lo expliquemos de forma más detallada y sus posibles usos. En primer lugar, debemos crear en una capa que no sea la principal varios planos, en nuestro caso 2, con una textura semi-transparente que vaya a simular la textura del humo. Podemos verlas en la foto.

howto2.jpgCaptura 3

Como podemos ver, los dos planos humo1 y humo2 tienen la misma textura uv asociada, con los correspondientes botones Alpha activados. Esto es para que la textura muestre su transparencia.

howto4.jpgCaptura 4

Estos planos, humo1 y humo2, tienen asociados unos Logic Bricks que hará que se muevan en la dirección que nosotros queramos. En nuestro caso, hacia -Y. Para ello, asociamos unos sensores Always a unos Motion con el movimiento predefinido. Recordar que se debe activar la repetición de señal positiva en los sensores para que se repita el movimiento infinitamente. Esto hará que cuando se creen las partículas de humo, éstas se muevan en la dirección deseada.

A continuación, creamos un empty en la escena principal con unas curvas ipo asociadas que harán que el empty se mueva como nosotros queramos, para ir creando la niebla en los sitios que nosotros queramos. Este empty, de forma pseudo-aletoria va creando planos exactamente iguales a los que tenemos en la capa 2. Los planos creados están situados exactamente en la posición en la que actualmente se encuentra el empty, de ahí que tengamos las curvas ipo asociadas al empty, para que la posición en la que crea los planos no sea siempre exactamente la misma.

howto1.jpgCaptura 5

Como podemos ver en la captura adjunta, el empty tiene asociado varios Logic Bricks: por un lado, un sensor Always con un Actuator IPO que hará que la curva ipo de movimiento se ejecute infinitamente. Además, tiene asociados dos sensores Random unidos a dos Actuator Edit Object que hará que se creen partículas de humo continuamente. Los parámetros de los distintos sensores y actuator se pueden consultar en cualquier manual de Blender. Los más importantes en este caso son los valores Seed del sensor Random, que es la semilla de aleatoriedad, y el Valor Time en el Actuator Edit Object que será el tiempo de vida del objeto creado. Tened en cuenta que si se ponen tiempos de vida excesivamente grandes van a existir muchos objetos a la vez que afectarán al rendimiento de la escena.

El segundo efecto explicado es algo complicado conseguir efectos curiosos para la creación de niebla, aunque puede servir para otros muchos como puede ser humo de casas, humo de fuego, incluso fuego cambiando de manera adecuada las texturas de los planos, y tened en cuenta que aportan dinamismo a las escenas, paseos virtuales, que es algo muy importante para dar algo de vida a vuestras creaciones.

Anuncios

enero 8, 2008 at 12:54 am 3 comentarios


Entradas recientes

Blog Stats

  • 69,242 hits

Top Clicks

  • Ninguna