Jump to content
UnitySpain
Sign in to follow this  
aprats1

(Ayuda) Reflejos erróneos y consejos.

Recommended Posts

Buenas!

Tengo un pequeño problema, a ver si me podéis ayudar.

Estoy creando una escena para probar diferentes tipos de iluminación para un proyecto real que estoy haciendo en otro lugar. Y bueno, quiero optimizarlo todo lo máximo que pueda y usaré el máximo de luces baqueadas a no ser que la escena requiera de luces en tiempo real.

Entonces, cuando pongo el reflection probe dentro de la escena se me crean perfectamente los reflejos de las paredes en el suelo y queda francamente alucinante usando Box projection pero me encuentro con un inconveniente bastante gordo.

35P7hqX.png

En la escena también tengo un modelo de prueba, una especia de planta carnívora cuadrada XD (salió de 4 extrudes aleatorios para testear) este modelo también es reflejado por el Reflection probe ya que afecta a todos los modelos estáticos, pero en el reflejo este objeto parece que forme parte de la textura de la pared. Puedo solucionar esto desmarcando el objeto como estatico pero si hago esto las luces baqueadas no actuaran correctamente sobre él y además si un objeto no esta marcado como estático, creo (que alguien me corrija si no es así) que consume más recursos y no produce sombras en las luces bakeadas.

aJtYn0x.png

Como puedo hacer esto de forma optima y que mi objeto no se refleje como si formase parte de la textura de la pared estando en Estatico? A no ser que en dinámico no consuma mucho. (La escena real esta plagada de objetos, igual hay unos 150)

Además, también me gustaría que este objeto se reflejara al suelo de forma correcta con Screen Space Reflection (script) del asset ofical de unity Cinematic effects, pero solo e conseguido que funcione con la camara en modo Deferred, tengo entendido que este modo consume muchos recursos ya que esta constantemente actualizando cada pixel de la escena para poder dar este efecto, ademas es incompatible con objetos transparentes y otras opciones de unity.

RtUYyyb.png   tRUZQj3.png

I2eb7y0.png

Alguien tiene una idea de como puedo simular reflejos al suelo correctamente?

Muchas gracias por vuestra atención y ayuda!

Share this post


Link to post
Share on other sites

Te sacare de dudas sobre lo que consume estando 'static' o 'dynamic', es mas lo comprobaras tu mismo. Tu problema con el reflejo es el bakend, y que no se haga en tiempo real, ya que el baking lo que hace (no se si con los reflejos) es añadir las sombras a la textura, para que no consuma. (no se bien si añade las sobras a textura o crea textura con las sombras. yo no suelo usarlo)

para comprobar los recursos que consume ve a:

1.png

y en el Profiler podras ver los recursos que consume.

1.png

Suerte con tus pruebas :)

 

 

Share this post


Link to post
Share on other sites

Hola , la verdad de reflexion no se mucho, pero creo que usando reflexion estatica con los probes siempre tenes esa clase de problemas, no estoy seguro. El metodo del SSR esta muy bueno, mucho mas dinamico, no creo que sea demasiado demandate dependiendo de la calidad que uses y mas si tenes solo un cuerto como en tu ejemplo, el unico problema es que a veces en los bordes de la pantalla no llega la reflexion correctamente, por ej fijate la caja de madera a la derecha (perdon no encontre mejor foto):

post-18176-0-84919000-1375187379.jpg

Como la camara no ve el borde de la caja no la refleja. Es el unico inconveniente.

Lo de la camara en deferred es necesario, osea primero se llega el G-buffer (con la geometria) despues el buffer con la iluminacion y creo que por ultimo van las reflexiones (y los image effects en general). en forward no se si es posible, n oestoy completamente seguro.

 

saludos

Share this post


Link to post
Share on other sites
hace 4 horas, kingtrase said:

Te sacare de dudas sobre lo que consume estando 'static' o 'dynamic', es mas lo comprobaras tu mismo. Tu problema con el reflejo es el bakend, y que no se haga en tiempo real, ya que el baking lo que hace (no se si con los reflejos) es añadir las sombras a la textura, para que no consuma. (no se bien si añade las sobras a textura o crea textura con las sombras. yo no suelo usarlo)

para comprobar los recursos que consume ve a:

 

y en el Profiler podras ver los recursos que consume.

 

Suerte con tus pruebas :)

 

 

Muchas gracias! Veo que esa escena solo consume un 8% de mi cpu interesante. Mochas gracias! :5_smiley:

 

hace 4 horas, lightbug said:

Hola , la verdad de reflexion no se mucho, pero creo que usando reflexion estatica con los probes siempre tenes esa clase de problemas, no estoy seguro. El metodo del SSR esta muy bueno, mucho mas dinamico, no creo que sea demasiado demandate dependiendo de la calidad que uses y mas si tenes solo un cuerto como en tu ejemplo, el unico problema es que a veces en los bordes de la pantalla no llega la reflexion correctamente, por ej fijate la caja de madera a la derecha (perdon no encontre mejor foto):

 

Como la camara no ve el borde de la caja no la refleja. Es el unico inconveniente.

Lo de la camara en deferred es necesario, osea primero se llega el G-buffer (con la geometria) despues el buffer con la iluminacion y creo que por ultimo van las reflexiones (y los image effects en general). en forward no se si es posible, n oestoy completamente seguro.

 

saludos

Gracias por el consejo, he podido comprobar que no consume recursos, al menos en esta escena de prueba, tendre que probarlo con la que hay mas de 100 objetos XD a ver como reacciona todo. 

Lo que pasa es que con el SSR activado, si miro al suelo directamente sin que se vea nada mas se pieden los reflejos al 100% ya que si tengo el SSR funcionando los reflection probe no funcionan en la cámara Deferred, Existe alguna solución que pueda combinar las SSR con los reflection probes o simpemente darle un ancho al SSR mayor al de la camara de jugador para que renderice en toda la pantalla o algo así?

Saludos y gracias!

Por curiosidad e estado mirando como funciona este tipo de reflejos en UE4 y e este aspecto (por lo que se) supera a unity, los reflejos se ponen casi automáticamente a todos lados sin esfuerzos. Pero siguo prefiriendo unity, me parece todo mas fácil aquí. 

 

Share this post


Link to post
Share on other sites

No podes atar al reflexion probe con la camara? en este video hace eso:

https://www.youtube.com/watch?v=iX5gf4dji8E

pones Type : realtime , RefreshMode EveryFrame , recien lo probe y queda bastante pasable, tenes algo de delay claro, sin mover la camara tengo 100 fps y moviendola para todos lados (el cubemap actualizandose) tengo 95 fps , y mi gpu no es para nada moderno.

Share this post


Link to post
Share on other sites

Como pone lightbug para simularlo correctamente lo suyo es enlazar el probe a la camara, problema de esto que cuando tienes muchos objetos con reflejos computacionalmente es muy costoso, normalmente lo que he visto es que no dan mucha importancia a que los reflejos sean completamente correctos, los usuarios no se llegan a fijar tanto. Por ejemplo jugando al The order 1886 de ps4 si te fijas en los reflejos de los cristales te daras cuenta de que no son correctos, si no estas analizando lo que estas viendo jugando no te das ni cuenta. 

Share this post


Link to post
Share on other sites
hace 2 horas, lightbug said:

No podes atar al reflexion probe con la camara? en este video hace eso:

https://www.youtube.com/watch?v=iX5gf4dji8E

pones Type : realtime , RefreshMode EveryFrame , recien lo probe y queda bastante pasable, tenes algo de delay claro, sin mover la camara tengo 100 fps y moviendola para todos lados (el cubemap actualizandose) tengo 95 fps , y mi gpu no es para nada moderno.

 

hace 2 horas, esr said:

Como pone lightbug para simularlo correctamente lo suyo es enlazar el probe a la camara, problema de esto que cuando tienes muchos objetos con reflejos computacionalmente es muy costoso, normalmente lo que he visto es que no dan mucha importancia a que los reflejos sean completamente correctos, los usuarios no se llegan a fijar tanto. Por ejemplo jugando al The order 1886 de ps4 si te fijas en los reflejos de los cristales te daras cuenta de que no son correctos, si no estas analizando lo que estas viendo jugando no te das ni cuenta. 

Gracias a los 2 por responder, pues simplemente voy a disimular los errores de los reflejos como pueda, no pondre el light probe con la camera por ahora, simplemete lo voy a disimular dando menos protagonismo a los reflejos. 

 

Edited by aprats1

Share this post


Link to post
Share on other sites
On 17/11/2016 at 11:35, aprats1 said:

Que pasada! Ademas los movimientos de la cámara parecen reales. 

El problema de esa tecnica que pasa lo mismo que colocando un probe en la camara, tiene un consumo de recursos enorme. Al fin al cabo es un algoritmo de raytraicing que funciona lanzando ra

Share this post


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

×
×
  • Create New...