Jump to content
Sign in to follow this  
nomoregames

ANSWERED Luz a color

Recommended Posts

Buenas... 

Seré directo

 

Estoy tratando de simular una "luz" (dato importante)

Todo en mi juego es negro, pero con esa luz lo que quiero tratar de hacer es que todo lo que "ilumine" adquiera color, pero con un difuminado.

Se me ocurre hacer dos capas idénticas en forma; la delantera en negro y la trasera a color... luego mediante un shader o algo (realmente me dan miedo los shaders) hacer que se vea lo que ay detrás...

 

Ahora mismo no sabría explicarme mejor... así que pongo una imagen

image.png

lo amarillo representa la "luz", el objetivo seria hacer algo así pero con los bordes difuminados 

 

Gracias de antemano 

Share this post


Link to post
Share on other sites

si son sprites puedes hacerlo con un "mask"

aqui te pongo un video de ejemplo que he encontrado

 

si es con objetos 3d podrias hacer un efecto de post Proceso de camara... seria con un shader... 

tambien podria hacerse que los materiales de la escena tubieran un shader especial que cuando haya una luz cerca tengan "color" y cuando no pues se vean en tonos de gris o negros...

  • Thanks 1

Share this post


Link to post
Share on other sites

Perfecto!

Y como hago para hacer que se vea difuminado (simular el efecto de la luz... cuanta mas distancia menos se ve)

Supongo que para hacer eso si que es necesario un shader... pero no tengo ni idea de como hacerlo 

 

Crearía dos capas (color y oscuro) luego haría que segun la distancia en que se encuentra cada pixel de la fuente de luz, la capa oscura sea mas o menos transparente... pero como ya he dicho no tengo ni idea de como hacer eso 

Edited by nomoregames

Share this post


Link to post
Share on other sites

-*image.png

el foro de dudas de unity me da problemas (ya he intentado hacer lo que me pide)

serias tan amable de mandar captura?

Share this post


Link to post
Share on other sites

hola

he estado mirando mas y parece que el sprite mask funciona usando "stencil buffer" en que cada pixel solo podria ser  ON o OFF.... entonces no va a poder usar el alpha como te decia...

la mejor solucion creo que seria usar un shader en el que los colores cambien dependiendo de la distancia a una luz o a un punto (vector3) especifico....

eso seria si quieres que la forma ser redonda....   pero si no quieres que sea redonda pues entonces se complica un poco mas...    tendrias que usar Grab texture en el shader para cojer la imagen de la pantalla y modificarla....   o usar un efecto de postProcess que al final tambien seria un shader 

  • Thanks 1

Share this post


Link to post
Share on other sites

Bueno... pues tendré que mojarme con los shaders si o si....

(si, quiero que sea redonda)

Sabes de algún tutorial que me ayude? o la palabra que tengo que buscar para encontrar info sobre esto (lo de los colores según la distancia...) 

Ya te digo, que soy totalmente like a virgin con lo de las sombras

 

Gracias

Edited by nomoregames

Share this post


Link to post
Share on other sites

espera un pocoa ver si alguien del foro tiene una solucion mejor... yo tengo poca experiencia con el 2d y los sprites... quizas hay una forma facil de hacerlo

por ejemplo @Pere hace algo parecido a lo que quieres en su proyecto "way home"

 

estaria guai que nos explicase como hace lo de las "luces"

Share this post


Link to post
Share on other sites

Creo que usa un sprite negro con transparencia en el centro y difuminados los bordes... luego añade un sprite mask... en mi caso esa solucion no sirve... si es que lo ha echo asi, claro

Share this post


Link to post
Share on other sites

mmmmm, 

No uso un sprite mask, juego con el order in layer y el color de la camara. 

Mi camara tiene el color negro, y todos mis elementos son negros, menos la luz, que es blanca. La luz tiene un order in layer de 0, mientras que los elementos un order in layer de 1. Esto hace que la cuando coinciden la luz queda por debajo del elemento y así se puede ver. No sé si se entiende bien.... Pero se puede conseguir el efecto que quiere @nomoregames pero con un grave problema.... si sus elementos tienen varios colores no sirve. 

Muchas gracias @Igorpor poner un vídeo mío 🙂

Saludos. 

 

 

  • Like 2

Share this post


Link to post
Share on other sites

Buenas @Pere y gracias por responder.

Sobra decir que tu vídeo es excelente.

Finalmente encontré una solución. No es muy buena, pero para mi caso en concreto es idónea.

Tengo tres capas, una con la imagen a color, otra negra pero transparente y la ultima, es la misma que a color pero negra y con un agujero en medio con los bordes difuminados.

He alineado la primera y la tercera y ¡voilà! Ya tengo el efecto "luz"

Es realmente "cutre", pero mas que suficiente para mis necesidades 

Edited by nomoregames

Share this post


Link to post
Share on other sites
7 hours ago, nomoregames said:

Buenas @Pere y gracias por responder.

Sobra decir que tu vídeo es excelente.

Finalmente encontré una solución. No es muy buena, pero para mi caso en concreto es idónea.

Tengo tres capas, una con la imagen a color, otra negra pero transparente y la ultima, es la misma que a color pero negra y con un agujero en medio con los bordes difuminados.

He alineado la primera y la tercera y ¡voilà! Ya tengo el efecto "luz"

Es realmente "cutre", pero mas que suficiente para mis necesidades 

Nada de cutre, estas soluciones sencillas que cumplen su objetivo lo que son es Brillantes!!!!! A mi me encantan!

Share this post


Link to post
Share on other sites
25 minutes ago, Pere said:

Nada de cutre, estas soluciones sencillas que cumplen su objetivo lo que son es Brillantes!!!!! A mi me encantan!

Pienso igual, a veces los desarrolladores damos muchas vueltas buscando la forma "correcta" de hacer las cosas, pero lo que verdaderamente importa es que te sientas cómodo con el resultado 😊 ... Es mejor implentar rápido nuestras ideas y luego refinar... 

 

Comentario únicamente aplicado para personas que trabajan de forma solitaria en proyectos pequeños. 

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...