Esto es algo que Dideje explico en la primer página del mensaje, espero te sirva hasta que te conteste el que sabe de verdad. Saludos.Las luces de la escena emiten fotones que chocan con la geometría. Cada vez que se produce un choque, el mapa de fotones guarda la siguiente información.
Va creando una especie de malla de iluminación (un estilo a la malla que te crea la radiosidad del max)y los parámetros que definen esta malla son.
Max density nos dice la precisión de esa malla en un punto.
Search Dist nos dice la distancia máxima a la que se mira para coger información de luz.
Y max Photons nos dice el número máximo de Photones que se tienen en cuenta para definir la iluminación en un punto.
O sea, un ejemplo visual.
Si ponemos max density 1, search Dist 5, y max Photons 30 y unidades en cm.
La luz emite un fotón, ese fotón choca con la geometría y con precisión de 1 centímetro respecto a ese punto hace una especie de esfera con radio 5 centímetros y coge 30 Photones que se encuentren dentro de esa esfera y calcula la iluminación en ese punto.
De ahí la importancia de las unidades, si la escena es en metros,1.0 en 3dsmax density significa que la precisión es de un metro, que evidentemente es demasiado grande para tener calidad de iluminación.
Evidentemente, lo ideal seria poner el max density en 0.0 con lo que la precisión seria perfecta, pero claro, pero los tiempos suben mucho.
En general hay una relación mágica para el valor de max density y search Dist y es 1/5.
O sea max density 1.0 search Dist 5.0.
Max density 2.0 search Dist 10.0.
En primer lugar felicitar a Dideje por este magnífico tutorial que ya me he leído de arriba a abajo y me ha servido de mucho. A ver si podría alguien solucionar mi duda:
Tengo un edificio del cual tengo que sacar varios renders interiores, como ya se explico anteriormente, se pueden hacer los cálculos de Photones y guardarlos, eso sirve para todos los renders que quieras hacer en ese modelo, mi pregunta es si se puede hacer lo mismo con el primari bounce de Irradiance Map, se hacen los cálculos y se almacena, ¿esos cálculos valdrían para cualquier render dentro de ese edificio?
Pregunto esto por que si hago el primari bounce con Irradiance Map y almaceno, hago los Secondary bounce con Photones y almaceno, después cargo los dos, ya me valdrían esos cálculos para todos los renders de dicho modelo, ¿no es así?
Corríjanme si me equivoco, es de suma importancia, gracias.
CLK el párrafo que has puesto es el que lo explica.únicamente añadir como ya se comentó por otros mensajes que se podrían usar metros, por ejemplo, siempre que se configurara correctamente el max density-search Dist (0.01-0.05 por ejemplo)aunque yo particularmente no recomiendo trabajar por que he tenido resultados indeseados, cada cual que haga sus pruebas y saque sus conclusiones.
El irradiance no sirve para toda la animación y hay que calcularlo con los métodos abreviados para animaciones, ya sea multiframe o incremental add.
O gracias al fabuloso script Vray Imap Builder.El irradiance no sirve para toda la animación y hay que calcularlo con los métodos abreviados para animaciones, ya sea multiframe o incremental add.
Bueno, ahora os pongo aquí una duda de un usuario que creo que debería estar aquí ya que tiene mucha relación con todo lo que se ha hablado en este mensaje.
Firefly dijo.Y ahora una fantástica explicación a cargo de Halfvector.Buenas, estoy aquí de nuevo leyendo y leyendo el tutorial de Dideje y creo por fin empezar a entender el comportamiento y cualidades de este motor de render, sin embargo, sigo teniendo algunas dudas (he buscado la respuesta usando el buscador del foro y no la he encontrado, por eso.
Es que llego a esta instancia) voy a tratar de ser lo más claro que pueda, me refiero a las hsph subdivisiones y a interpolate samples para el cálculo del Irradiance Map, citando a Dideje ¿pocos rayos o pocas muestras o poca interpolación? Partiendo del hecho de que cada escena es un mundo.
Creo que, lo mejor es optar por un término medio. Un exceso o una falta de cualquiera de esos tres ingredientes suele dar lugar a problemas.
Bueno el asunto es que no logro encontrar una relación de valores aplicable para cada tipo de escena que tengamos, lo único que halle fue algo, así como: con un número alto de hsph subdivisiones las interp. Samples deben ser bajas para evitar que aparezcan artefactos (iluminación en.
Esquinas). Un valor alto mayor calidad en el render, pero peores tiempos yo me pregunto ¿cuánto sería mucho y cuanto seria poco? Vean el ejemplo al que me refiero, en el render final de la escena_pruebas, (*.rar) Dideje uso los siguientes parámetros:
Hsph. Subdivs: 35.
Interpolate Samples: 45.
Mientras que en la de luz_natural_inicio, (*.rar) el uso unos valores así:
Hsph 35 inter 35 y he visto valores de lo más raros, como en algunos video tutoriales de Evermotion utilizaban 20;20 y en exteriores la relación hsph 30 inter 10 (en un tutorial de ósmosis) quiero aclarar primero que todo que comprendo que son estos dos parámetros los cuales están muy bien explicados por Dideje en la pagina 10 del mensaje interior con luz artificial pero no hace ninguna referencia a que representan estos valores, algo que si se hace por ejemplo, en aclarar qué significa el valor de 1 en 3dsmax density del cálculo de fotones en el cual 1 es la unidad del sistema en el que estemos trabajando (metros, centímetros, milímetros) me gustaría tener alguna referencia en cuanto a posibles valores que, adopten estos parámetros según la escena que tengamos. Bueno espero a ver sido lo más concreto, y por supuesto si esto está respondido en algún mensaje o sección de alguno les agradecería que me den el enlace al mismo, y no se enojen conmigo porque la verdad es que llevo horas tratando de encontrarlo y no lo he logrado.Todo bastante correcto y lo mejor de todo entendible. Seguramente un programador sacaría fallos, pero a efectos prácticos es estupenda la explicación.Hola. Ante todo decir que no soy precisamente la persona más indicada para explicarte todo este tema sin cometer ciertas imprecisiones. Programar un renderer como Vray no es fácil (en realidad es bastante jodido) y las cuestiones técnicas que nos encontramos ante este tema también son complejas de responder.
Dicho esto, intentaré explicarte lo mejor que pueda en que consisten los parámetros hsph. Subdivs e interp, samples.
Empezamos con las hsph. Subdivs.
Básicamente, un raytracer lo que hace es lanzar rayos (primary rays) desde el punto de vista del observador (la cámara) entonces se va viendo cada rayo en que punto colisiona. En un raytracer sin soporte para GI, una vez que el rayo intersecta en un punto de una superficie, se calcula las componentes de la iluminación para dicho punto (Diffuse, Specular). Y listo. En ciertas situaciones en las que se tenga que calcular una reflexión o una refracción, se vuelve a lanzar otro rayo (secondary rays) para llevar a cabo dicho cálculo (en realidad se lanzan tantos rayos como máxima profundidad le demos a la reflexión).
Vale, esto es en un raytracer donde no se soporta GI. Ahora veamos el caso de la GI. Al igual que antes, se lanza un rayo desde la cámara y éste intersecta en algún punto de una superficie. Llegados a este punto es donde se encuentra la gran diferencia entre calcular o no la GI. Sin GI dije que se calculaba la iluminación para ese punto y listo. Pues bien, con GI, lo que hay que hacer es ver la contribución de toda la escena en la iluminación de dicho punto. ¿cómo se hace esto? Pues básicamente lanzando más rayos (secondary rays) desde el punto en cuestión. La pregunta ahora es, ¿cuántos rayos y en que dirección lanzamos dichos rayos? Aquí es donde entra en juego el parámetro hsph. Subdivs. Lo que se hace es que se construye un hemisferio (semiesfera) imaginario sobre el punto actual y con una dirección igual a la normal de dicho punto. Esta semiesfera tendrá tantas subdivisiones como le indiquemos en el parámetro hsph. Subdivs (es como cuando construimos una esfera y le asignamos el número de segmentos). Evidentemente, a más subdivisiones, más rayos secundarios se lanzaran por lo que la GI será de mayor calidad y por supuesto el tiempo de cálculo será mayor. Aquí cabe aclarar que si pones un número de 50 subdivisiones, en realidad no estas lanzando 50 rayos sino 2500, es decir, el número de rayos lanzados será igual a hsph. Subdivs al cuadrado. Otra pregunta que uno se puede hacer es en que dirección salen estos rayos. ¿se distribuyen uniformemente sobre el hemisferio? Lo cierto es que no. Lo que se hace es lanzar rayos aleatoriamente utilizando el algoritmo. Qmc (Quasi Montecarlo).
Para ilustrar todo esto, os adjunto la imagen1 donde podéis ver el punto que se está calculando actualmente (la esfera roja), el hemisferio que utilizaremos para lanzar los rayos secundarios y los propios rayos secundarios.
Como veis en la imagen, algunos rayos impactaran en el muro de la izquierda, otros impactaran en el suelo, otros en la esfera y otros lo harán con el environment que en este caso es de color azul. Así, si un rayo impacta en el environment (color azul), ese azul contribuiría en una determinada cantidad al color del punto que estamos tratando actualmente (el punto representado por la esfera roja).
Ahora voy a intentar explicar el significado de interp, samples.
Vray almacena un determinado número de muestras (samples) en el Irradiance Map. El número de estas muestras y su disposición espacial va a depender de forma directa (aunque no es lo único que determina esto) de los parámetros min, rate y max, rate. Evidentemente, cuantas más muestras se almacenen en el Irradiance Map, mayor será su calidad, pero más tiempo tardará en calcularse. Si os fijáis, Vray, cuando le damos a render, empieza a calcular el Irradiance Map. El número de pasadas que se utilizaran para calcularlo dependerán, como he dicho, de los parámetros min, rate y max, rate. Así, si ponemos unos valores de (-3; 0), Vray calculara el Irradiance Map en 4 pasos. Esto lo podéis ver cuando Vray empieza a renderizar, cuando pone current task: prepass 1 de 4, etc. Pues bien, imaginemos que Vray ya ha terminado de calcular el Irradiance Map. Ahora llega la hora de utilizar este Irradiance Map para generar la escena final. Aquí es donde entra en juego el parámetro interp, samples. Lo que Vray hace es que interpola los samples del Irradiance Map. Cuanto mayor sea la interpolación, más suave será la imagen final. Una interpolación demasiado baja, da como resultado los típicos manchurrones. Esto es porque al realizar una interpolación pobre, la diferencia de intensidad entre samples es demasiado acusada.
Para entender mejor esto, mirad la imagen2. En ella podéis observar dos samples sacados del Irradiance Map (desesperados son los colores de los extremos, es decir, el negro y el gris claro). En la fila de arriba, hemos especificado una interpolación de 4, por lo que se generan 4 samples intermedios, resultantes de la interpolación de los samples originales (los 2 de los extremos). En la fila de abajo, tenemos los mismos samples originales, pero en esta ocasión hemos especificado una interpolación de 2, por lo que Vray genera 2 samples intermedios. Ahora, aplicamos un Gaussian Blur (todo esto lo he hecho en Adobe Photoshop por lo que no quiere decir que Vray haga esto) a la fila superior y a la inferior (ver imagen3). Como podéis observar, en la fila en la que hemos utilizado un mayor número de interpolaciones, la transición entre un sample y otro es suave mientras que en la fila inferior, donde utilizamos únicamente 2 samples de interpolación, se nota la transición de un sample a otro, lo cual genera los típicos manchurrones que mencioné anteriormente.
Bueno, pues hasta ahí llego. Espero que te haya aclarado un poco las cosas. La verdad es que explicar esto de forma que se entienda bien es bastante complicado y si encima uno no llega a entender el Vray al 100% (para eso tendría que haber programado un renderer con soporte GI y lo máximo a lo que llegué fue a un raytracer bastante simple) pues aún más. Esto quiere decir que ciertas cosas que he dicho no pueden ser del todo exactas. Si es así, no me molesta para nada que alguien me rectifique. Al fin y al cabo estamos aquí para aprender. Saludos.
-- IMÁGENES ADJUNTAS --
![]()
Vaya, pues muy clara la explicación, sí señor. Chas gracias Halfvector.
Hola buenas a todos, en primer lugar agradecer a todo el mundo que haya colaborado en este mensaje, ya que me está guiando por ciertos caminos que desconocía de Vray, y en especial y no por peloteo a Dideje, me parece que ha realizado una gran labor por muchos de nosotros, si me dejo ha alguien perdonar, pero todavía voy como por la página 20 del mensaje, todavía me queda para terminar.
Bueno al grano, he podido leer en una de las contestaciones (no recuerdo en cuál) que hacíais referencia al apartado que se encuentra en Vray:G-Buffer/Color Mapping, en que no sabéis para que vale (igual ya lo han contestado, ya os digo que voy por la 20 aproximadamente, no me castigues si ya lo han hecho), bueno pues esto es estupendo para cuando vas a hacer postproducción con Combustion.
Yo no soy un experto en esto, pero sé que a la hora de salvar la imagen como tipo de fichero (*.rpf), en Combustion puedes hacer la mensaje, de la imagen o serie de imágenes en tiempo real, como es la profundidad de campo, retocar colores, meter glows, y más cosas, ya os digo que todo lo hace en tiempo real, es decir que con esto te puedes ahorrar un huevo de tiempo.
Bueno creo que de momento puede valer la explicación, si no se entiende bien, decídmelo, no me considero precisamente bueno explicando cosas de esta manera.
Adjunto un ejemplo para que veáis de que hablo. Un saludo.
-- IMÁGENES ADJUNTAS --
![]()
Perdón por lo de Dideje, corrijo Dideje. En que estaría pensando.
Dideje hay una cosa que no término de comprender aunque creo que estoy en lo cierto, basándome en las pruebas que e echo. Subir las subdivisiones de las luces en light settings no afecta para nada en Irradiance Map ¿verdad? E probado con los valores por defecto y subiendo hasta 6000 y el resultado es el mismo, eso solo afecta en fotones.
Otra duda estúpida.
¿Cómo puedo hacer en Irradiance Map que una Vray Light con skaylightportal activado llegue más lejos o menos lejos su luz? Espero haberme explicado. Gracias.
Brigi.
Tengo que hacer un recinto cuyas paredes son de vidrio traslúcido de color e iluminado, tienen idea de cómo lograr este efecto?
Mi idea es hacerlo con el Glow del video mensaje, pero esto me lleva a preguntar cómo funciona el Vray en casos de usar el video mensaje.
Por otra parte me gustaría saber si en una misma escena se pueden combinar luces fotométricas, Vray lights más una direct que haga de sol y usar la técnica de Photones + irradiance, tuya Dideje.
Podrías desarrollar un poco más acerca de cómo trabajar con una imagen generada por Vray en Combustion. Te agradecería mucho, saludos.
Las subdivisiones de las luces no afectan las sombras si trabajas con direct computation en los secondary, para que una luz con skylight portal tenga más alcance deberías aumentar el multiplicador del skylight, Nico 4d, en el foro oficial de Vray hay varios materiales que te pueden servir para lo que necesitas. Además, se pueden observar los parámetros de translucent para ver cómo trabajan. Yo no los entiendo mucho todavía, para trabajar con vídeo mensajes en Vray debes marcar los parámetros en el cuadro de diálogo de Gbuffer output channels, de modo que queden en gris, si me he equivocado en lo que he respondido, supongo que, Dideje lo corregirá, saludos.
Dideje, me puedes pasar el archivo a mpretti@bpba.com.ar. Por que no puedo bajarlo. Bah, mejor dicho lo bajo, pero con error. Un abrazo y la verdad que te felicito por haberte tomado el tiempo de hacer el tutorial.
Cualquier cosa que necesiten cuenten conmigo.
Maxi.