Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

(Ayuda) Reflejos erróneos y consejos.

Iniciado por aprats1, Noviembre 16, 2016, 05:40:13 PM

Tema anterior - Siguiente tema
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.
 

 
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.
 

 
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.
 
   
 

 
Alguien tiene una idea de como puedo simular reflejos al suelo correctamente?
 
Muchas gracias por vuestra atención y ayuda!

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 :)
 
 
 
 

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE()_๑۩۞۩๑ 



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

Cita de: kingtrase date=1479318539Te 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! 
 
 
 
Cita de: lightbug date=1479319665Hola , 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í. 
 
 

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.

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 com***cionalmente 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. 

Noviembre 17, 2016, 02:26:32 AM #6 Ultima modificación: Noviembre 17, 2016, 02:30:52 AM por aprats1
Cita de: lightbug date=1479337684No podes atar al reflexion probe con la camara? en este video hace eso:
   
   
      
[/url]
   
   
      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.
   


 
 
Cita de: esr date=1479338610Como pone lightbug para simularlo correctamente lo suyo es enlazar el probe a la camara, problema de esto que cuando tienes muchos objetos con reflejos com***cionalmente 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. 
 
 


Cita de: lightbug date=1479350503Sino comprate este efecto "Candela SSRR" ;)
   
   
      https://www.youtube.com/watch?v=pKpwi4GgaOg
   
   
      impresionante
   
   
       
   


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

Cita de: aprats1 date=1479378911Que 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

Etiquetas: