Noticias

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

¿Se puede tener distintos ShadowsDistances en diferentes objetos?

Iniciado por ftejada, Noviembre 07, 2018, 06:00:07 PM

Tema anterior - Siguiente tema
Hola a todos!!!
 
¿¿¿Existe en Unity la manera de poder tener la opción de Shadows distance de las opciones de Quality, por ejemplo a 200m y que algunos objetos (que yo quiera) solo dibujen la sombra hasta los 50m por ejemplo??? por ejemplo el terrain me gustaria que la sombra la dibujase a muy larga distancia pero objetos pequeños como piedras de mediano tamaño o árboles no tanto
 
No se si esto es posible con las opciones que trae  Unity... pero si no, ¿Existe alguna manera de hacerlo?
 
 
 
Saludos y gracias por adelantado.

no...
 
...pero si trabajas con LOD (level of detail) ...puedes poner a ciertos objetos de baja resolucion (los de lejos) que no produzcan sombras y otros que te interesen si... y en cambio a los objetos de alta calidad (los cercanos) poner que produzcan sombra todos... los que te interesen....
 
....o tambien puedes hacer un scrit que compruebe las distancias de las cosas y active o desactive es "cast shadows"... (no hace falta comprobar de todas las cosas a la vez... rodo el rato.... puedes dividir el trabajo en el tiempo...).... o algo asi...

Gracias por la respuesta @Igor !!
 
Lo de hacer el script es lo primero que he pensado, pero no pensé en hacerlo mediante corrutinas para que no asesine al rendimiento en escenas muy pesadas...
 
Por otro lado lo del LODs es buena idea, y quizás sea la que finalmente termine haciendo para que todo lo gestione Unity internamente con LODs
 
 
 
Saludos y muchas gracias por el aporte

Cita de: ftejada date=1541675484Lo de hacer el script es lo primero que he pensado, pero no pensé en hacerlo mediante corrutinas para que no asesine al rendimiento en escenas muy pesadas...
   


Es un topic algo complicado, las corrutinas si las vas a usar con un waitForSeconds relativamente lento, algo así como 100 ms , o 200 ms etc quizás te van a rendir mejor que usando Updates. Si tenés muchisimas corrutinas la cosa se va a poner peluda naturalmente. El cálculo de las distancias ya lo planteaste en otro topic pero bueno, no es la gran cosa.
 
IMO es preferible mil veces usar LOD's que andar testeando la distancia, debería revisar el tema del Render Pipeline para ver cuando y donde se meten los LODs pero no funcionan como un script que le dice cada tanto activá/desactivá o cambiá el modelo este por este, sino que está algo más integrado al motor (fijate las opciones gráficas del proyecto) por esto supongo que trabajan en otro plano y claro, tenés ventajas al usarlos (están para eso que necesitás justamente), quizás pasa más por un tema de culling (cosa que gráficamente es de las primeras cosas que suceden).

Si. Creo que llevas toda la razón y tomaré el camino de implementar Lod´s en principio.
 
 
 
Saludos y gracias

Etiquetas: