Blender material nodes

elclanrs - 22/07/2006 16:22
Estoy últimamente muy preguntón, esta va para los expertos. Resulta que he estado mirando últimamente el editor de materiales por nodos y la verdad que resulta interesante. Pero al ser una característica nueva no hay mucha información en la red a excepción del tutorial oficial que tampoco es que este muy, allá.

Entonces, según lo que he leído y probado tengo entendido que los material nodes se utilizan para crear materiales más avanzados y complejos, pero, lo que no llego a entender es la forma en que funciona, es decir, que conceptos se deben tener en cuenta para poder hacer o unir todas esas casillas. Me baje los archivos de prueba del tutorial oficial, el del Beatle verde y el del hielo, y no logro entenderlos del todo.

Bueno pues ahí queda la pregunta, un saludo.
jedihe - 22/07/2006 21:49
Al hacer render, cada píxel es capaz de responder con cierta información, por ejemplo, su profundidad z respecto de la cámara, la normal en ese píxel de la malla que esté ahí, o el color del world para ese punto, si no hay objeto alguno.

Ahora bien, cuando se construye un shader, la idea es utilizar distintas clases de información para generar el color adecuando del píxel. Por ejemplo, si quieres generar un brillo especular falso, debes tener en cuenta el ángulo formado entre un Vector que una el punto de la malla que corresponde a ese píxel y la lámpara, además de comparar aquel Vector con el formado desde el punto de la malla del susodicho píxel, hasta la posición de la cámara. Bueno, esa es una explicación de afán y no muy organizada.

En resumen: para generar un shader, puedes manipular distintos tipos de información (tripletas RGB, vectores XYZ, valores de 0 a 1, valores flotantes con gran rango). La manera en que vas transfiriendo esa información, entre nodo y nodo, es a través de sus respectivos sockets. Socket amarillo = color RGB, socket violeta = Vector XYZ, socket gris = escalar simple. Puedes hacer una prueba sencilla, simplemente, construye un cierto material y pon un nodo RGB, escoge algún color cualquiera, conecta su salida con la entrada del output, haz un render y, veras que tú objeto aparece como si fuera una simple silueta de cierto color, por qué? Sencillo, cuando el motor de render llega a cierto píxel, pregunta al Shader del objeto que deba pintarse (asumo que sólo se encontrara un objeto, con alfa 1) de que color quiere que pinte ese píxel particular, el Shader efectúa su evaluación y listo. En este caso, el Shader simplemente responderá siempre: el píxel debe ser de color xxxx.

Lo interesante viene cuando uno empieza a jugar con cosas como alfa controlado por normales, donde sería posible con gran facilidad, lograr que un objeto tenga un borde ton, con gran facilidad. Abajo te adjunto un archivo de ejemplo.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #34068

elclanrs - 22/07/2006 22:11
Gracias por explicación, aunque un poco liosa, pero más o menos entiendo lo que quieres decir. Ando en busca de un buen tutorial paso a paso explicando para que y cómo funciona cada elemento, pero no logro encontrar ninguno, sabes donde lo puede haber.

Sino Jedihe ya que veo que eres experto en la materia animate hombre y haz un tutorial para comunidad Blender, aunque sea algo simple, pero seguro que nos sirve a muchos de ayuda. Un saludo.
jedihe - 22/07/2006 22:26
[url]http://www.blender.org/cms/blender_material_nodes.743.0.html[/url]. Es la mejor información que he leído de nodos hasta ahora. Sólo es cuestión de tener un poco de paciencia con los aspectos técnicos propios de la arquitectura interna del programa.

Ya que veo que eres experto en la materia.

Bueno, lo de experto, me queda muy en duda, sólo trato de ver el lado matemático del asunto y entenderlo a mi manera.

En cuanto al tutorial, pues es mucho trabajo (y harto tiempo.) hacer un tutorial decente, bien escrito, con buena estructura y, además, que explique los conceptos bien y ese tiempo no lo tengo ahora. Te aconsejo que pruebes a hacer cosas básicas, en principio, luego puedes empezar a mezclar algunas más complejas.
elclanrs - 22/07/2006 22:55
Esa es la información que decía al principio del mensaje que he estado mirando, pero es algo tan básico que no llego a conseguir materiales decentes con esto de los nodos, he estado buscando por toda la red, pero al ser algo tan reciente no hay todavía tutoriales acerca del tema, será cuestión de esperar.

El problema que tengo es básicamente que no llego a comprender exactamente cómo funcionan los nodos, por ejemplo, porque si yo hago esto que hay en la imagen me sale ese material?


Quita el brillo y el color cambia evidentemente por cambio la curva del rojo, pero, no sé si me entiendes.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #56361

jedihe - 22/07/2006 22:58
Una pregunta: has usado Adobe Photoshop, Gimp, o algún otro programa decente de procesamiento de imágenes? Jedihe.
elclanrs - 22/07/2006 23:12
Si Photoshop de vez en cuando, no soy ningún experto, pero me las arreglo.
jedihe - 22/07/2006 23:17
Bien, me temí que fuera asunto de manejar cosas relativas a refinamiento de canales de color, pero si lo usas, de seguro entiendes con claridad lo que hacen herramientas como curves y levels. En ese caso, será mejor una explicación más detallada de que es lo que no entiendes del setup de nodos que mostraste en la imagen, porque con lo que dijiste, no comprendí muy bien - Por esa razón supuse, inicialmente, que no manejabas Photoshop -.
elclanrs - 22/07/2006 23:33
Creo que he puesto el peor ejemplo. La verdad es que como ya he dicho no soy un genio en Adobe Photoshop, pero a lo que me refiero es otra cosa diferente, mira te lo voy a poner con un ejemplo a ver si así se entiende.

Imagínate que en 3ds Max creo un material standard y en el mapa Bump le aplico un mapa mask y dentro de ese mapa coloco en el map un noise y en el mask un celular y queda esto de la imagen:


Este método en 3dsmax es interminable puedes seguir aplicando mapas y mapas y más mapas.

Bueno pues el caso es que esto es posible hacerlo con los nodes, pero no sé que lógica hay que seguir para conseguirlo.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #56362

jedihe - 22/07/2006 23:39
Ok, déjame probar un rato a ver si logro hacer algo parecido. Jedihe.
jedihe - 23/07/2006 01:04
Estuve jugando un rato, la imagen adjunta muestra la manera de acumular mapas Bump (Bump falso, no del que altera la geometría real de la malla).

En principio, se trata de crear un material (por cada relieve independiente) en el que la salida de una textura afecte el canal Nor, luego, en el compositor, se efectúa el encadenamiento.

Los nodos libres, muestran como es cada material por sí solo, sin el efecto acumulado de los demás.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #34070

Mars Attacks - 23/07/2006 01:06
Para eso no necesitas los nodos. Puedes usar el mapeador de toda la vida, y poner las texturas que vas cargando en el orden adecuando para que se apliquen como quieres.
jedihe - 23/07/2006 01:07

Para eso no necesitas los nodos. Puedes usar el mapeador de toda la vida, y poner las texturas que vas cargando en el orden adecuando para que se apliquen como quieres.

Mars está en lo cierto.

Bueno, por lo menos, el rato de toco me sirvió para ver cómo hacerlo con nodos.
koex - 23/07/2006 01:12

No sé si te servirá de mucho (aún no lo he leído), pero por si a caso te dejo este adjunto:
http://members.dodo.com.au/iaina/blendernodeprimer.pdf.
(Fuente: blendernation, com). Saludos.



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #56363

elclanrs - 23/07/2006 06:41
Gracias por el pdf Koex, muy bueno. Entonces que tiempo de material complicado puedes hacer con nodos? Existe alguna librería gratuita de materiales con nodes?estaría muy bien algo así para ver más o menos cómo funciona el asunto.
jedihe - 23/07/2006 06:43
Bueno, puedes buscar en elysiun, hay varios mensajes sobre nodos en los que han puestos setups tanto para materiales, como para composición.
elclanrs - 23/07/2006 08:02
Ya estuve mirando, gracias de todas formas, creo que ya se han resuelto mis dudas, gracias por la ayuda Jedihe. De todas formas, si algún día tienes tiempo suficiente y te animas para hacer un tutorial sobre nodes estaré al tanto. Un saludo.
Caronte - 23/07/2006 12:47

Entonces qué tipo de material complicado puedes hacer con nodosí.

La gran diferencia entre usar nodos o usar solamente el editor de materiales de toda la vida es que:
[list=1]
  • se pueden mezclar/componer materiales (en lugar de solo texturas).
  • se pueden usar infinitos canales de texturas (en lugar de 10).
  • es más fácil conseguir lo que se quiere porque es muy visual (en lugar de ir a ciegas).
    [/list]
  • Lennon_ac - 23/07/2006 16:13
    Aún no me he bajado la nueva versión porque estoy de arreglos en el PC. Me hago una pregunta sencilla que no he leído en ningún lado:
    ¿Con Yafray funcionan los materiales nodes? Gracias de antemano.
    Caronte - 23/07/2006 17:19

    ¿Con Yafray funcionan los materiales nodes?

    No.
    SHAZAM - 23/07/2006 17:55
    ¿Es posible tostar los materiales para poder utilizarlos como mapas de texturas en Yafray? (como bake textures de max).

    Sería una opción mientras se hace compatible la edición de nodos con Yafray.
    elclanrs - 23/07/2006 18:06
    La verdad es una putada lo de que no sea compatible con Yafray, pero llegara.
    jedihe - 23/07/2006 18:13

    Gracias por la ayuda Jedihe.

    Con todo gusto.

    La verdad es una putada lo de que no sea compatible con Yafray, pero llegara.

    Esperemos que así sea. Aunque por algunas cosas que leí por ahí, parecería ser que la intención de ton es más por el lado de que el motor interno se desarrolle en direcciones tales como la implementación de aspectos tipo RenderMan. En ese caso, dependería más de los desarrolladores de Yafray.
    elclanrs - 24/07/2006 00:24
    La verdad que el motor interno de Blender está bastante bien, aunque le vendría bien una mejora en cuanto a tiempos de render y un módulo de GI avanzada.

    Edito: lo que si estaría bien seria implementar un plugin para Vray (deseado por muchos de vosotros eh.