martes, 18 de abril de 2017

Iluminación Unity 5. Light Probes. Parte 5 de 8

Aunque lightmapping aumenta mucho el realismo de una escena, tiene la desventaja de que los objetos no estáticos en la escena se representan menos realista y pueden parecer desconectados como resultado. No es posible calcular lightmapping para objetos en movimiento en tiempo real, pero es posible conseguir un efecto similar utilizando light probes. La idea es que la iluminación es muestreada en puntos estratégicos de la escena, denotados por las posiciones de las sondas(probes). La iluminación en cualquier posición puede ser luego aproximada al interpolar las muestras tomadas por las sondas(probes) más cercanas. La interpolación es lo suficientemente rápida para ser usada durante el juego y ayuda evitar desconexiones entre la iluminación de objetos en movimiento y objetos estáticos lightmapped en la escena.

El component del grupo de sonda de luz(light probe group). El inspector puede ser usado para agregar nuevas sondas(probes) al grupo. Las sondas aparecen en la escena como esferas amarillas que pueden ser posicionadas de la misma manera como GameObjects. Las sondas(probes) seleccionadas pueden ser duplicadas con el atajo de teclado habitual (ctrl+d /cmd+d).

Debe situar las sondas dónde quieres probar la luz u oscuridad. Las sondas necesitan formar un volumen dentro de la escena para que la subdivisión de espacio funcione apropiadamente.

La forma más fácil para posicionar es agruparlas en un patrón de cuadrícula regular 3D. Mientras que esta configuración es simple y eficaz, es probable que consuma una gran cantidad de memoria Vale la pena señalar que las sondas son solamente necesitadas para regiones que jugadores, NPCs o otros objetos dinámicos puedan moverse en realidad. Además, ya que las condiciones de iluminación están interpoladas para posiciones entre sondas(probes), no es necesario utilizar mucho de ellas en todas las áreas dónde la luz no cambia mucho. Por ejemplo, una gran área de sombra uniforme no necesitaría un gran número de sondas y tampoco lo haría un área bien iluminada lejos de objetos reflectantes. Las sondas son generalmente necesitadas dónde las condiciones de iluminación cambian abruptamente, por ejemplo en la esquina de un área con sombras o en lugares dónde piezas de escenario tienen diferentes colores.

Vamos a realizar un ejemplo con el mismo escenario con el que llevamos realizando todos los ejemplos. Lo primero de todo vamos a poner todas las luces de nuestro escenario con el atributo Baking en Baked. Al marcarla como Baked vamos a crear un lightmapping en el cual la iluminación se incrusta dentro de las texturas de los objetos a los que ilumina.


Abrimos el panel de Lighting mediante Window > Lighting


Activamos la opcion de Baked GI. Ponemos Baked Resolution a 40 y en Atlas Size a 1024.




Tras esto pulsamos el botón Build (en el caso que no esté marcado Auto).


Tras pulsar Build, y tras unos segundos o minutos dependiendo de la escena y de la potencia de tu ordenador, se generará el Lightmapping. Tras esto y al marcarlo como Baked GI, las imagenes de la escena las vamos a desactivar y veremos que la iluminación continua presente, está "bakeada".


Ahora los objetos que se desplacen o muevan por la escena NO recibirán iluminación directa de las luces, porque están integradas en las texturas. Para generar un cierto realismo en estos objetos móviles vamos a incluir una Light Probe.

Para insertarla pulsamos en GameObject > Lights > Lights Probe Group


Se creará en la escena un nuevo GameObject llamado Light Probe Group, con el componente Light Probe Group.


Para editarlo o modificarlo debemos pulsar el botón Edit Light Probes que pemitirá modificarlo. Lo mejor es tener activado Show Wireframe. para ver el las lineas entre cada uno de los Probes (esferas amarillas).Existen 4 botones. El primero Add Probe  de ellos permite añadir un nuevo Probe (esfera amarilla). El segundo Select All  permite seleccionarlos todos los probes. El tercero Delete Selected permite eliminar los probes seleccionados. El último Duplicate Selected permite crear una copia de uno existente en la escena que este seleccionado.

El Ligth Probe Group voy a posicionarlo creando un polígono alrededor de la esfera ( que es el objeto que se va a mover). Los probes una vez seleccionados se comportan como GameObjects, los cuales los podemos posicionar donde queramos dentro del escenario.



Una vez creado y posicionado, cuando desplacemos la escera dentro del polígono formado por los probes, se creará un sombreado sobre el objeto, siendo este más realista dentro del escenario.

No hay comentarios:

Publicar un comentario

Incluir anuncios en mis juegos con AdMob de Google. Unity 5.Script C# para Google Admob. Paso 4 de 4

Vamos a escribir el código necesario para mostrar los anuncios en nuestro juego. Lo primero vamos a crear dentro de la carpeta Assets la car...