BotonMenu

Visita : conoce3000.com
Paypal : https://www.paypal.com/donate/?hosted_button_id=XY8TZ3MGN64GE

Materiales con Principled BSDF : Cerámicas patrones senoidales y triángulares

Materiales con Principled BSDF : Cerámicas patrones senoidales y triángulares

Materiales con Principled BSDF : Cerámicas patrones senoidales y triángulares
Miercoles 20, de Febrero del 2019
Miercoles 20, de Febrero del 2019



En este tutorial veremos como crear patrones senoidales y triangulares para adornar las tazas que hemos usado en el video anterior, pero antes debo explicar algunos conceptos importantes de matemática y el uso de los nodos involucrados en la elaboración de estos patrones.

‒ Ecuaciones implícitas.

Se dice que una ecuación es implícita cuando no está despejada ninguna de sus variables, en caso contrario se dice que es explicita. Para poder representar o graficar una función sobre una textura procedural en Blender, necesitamos que la ecuación de la función este expresada en forma implícita. Por ejemplo la función seno:

f(x)=sen(x) o y=sen(x)

esta expresado en su forma explicita, lo que debemos hacer es expresarlo como una ecuación en su forma implícita, para ello simplemente igualamos a cero la ecuación

sen(x)-y=0 o sen(x)+y=0

con esto ya podríamos graficar la función seno, sobre una textura procedural en Blender, usando los nodos “Math” de la categoría “Converter”. La siguiente imagen nos muestra la implementación de la función seno en Blender.



El valor 02 de la función seno es ignorado, es decir no se usa, y tal como se puede observar los valores que arroja la función seno son restados con todos los valores del eje Y, que son recibidos en el valor 02 del nodo "Subtract".

‒ El nodo separate XYZ y el mapa UV.


Este nodo que se encuentra en la categoría “Converter”, nos permitirá separar por degradados los ejes del sistema de coordenadas que este usando el objeto para distribuir un material sobre la superficie. Estos degradados es lo que se necesitará para dibujar la función seno, en especial la que se proyecta por el eje X. Este nodo necesita una entrada de tipo vector. La entrada para este nodo puede ser una de las salidas del nodo “Texture coordinate”, en nuestro caso vamos a usar mapas UV.

Los mapas UV son coordenadas que indican al motor de renderizado como distribuir el material sobre una malla. Estas coordenadas nos permiten determinar la posición del material en un plano bidimensional. Ahora en vez de usar las letras X o Y, se usan las letras U y V, en donde U corresponde al eje X y la V corresponde al eje Y.



De aquí en adelante trabajaremos sobre la taza, por lo que necesitaremos el siguiente archivo taza.blend que tiene los materiales que creamos en el tutorial anterior.

Abrimos el archivo y re acomodamos las ventanas tal como se muestra a continuación.



Ahora empezaremos a crear el mapa UV. Empezamos desactivando los modificadores que la taza tiene momentaneamente. Luego entramos al modo edición y desactivamos la visualización de los biseles del modelo momentáneamente. Para ello presionamos N para abrir el panel de propiedades, y en la categoría “Mesh Display” desactivamos la opción “Bevel”, con esto las líneas azules no se visualizarán.



Empezamos a crear los cortes o costuras de acuerdo al siguiente gráfico de referencia.



Para ello seleccionamos los segmentos (líneas de color rojo en el gráfico de referencia) y presionamos Ctrl+E y luego “Mark Seams”, en caso nos equivocamos podemos seleccionar los segmentos marcados, presionamos Ctrl+E y luego “Clear Seams”. Después de marcar todas las costuras, seleccionamos todo, presionamos la tecla U y luego elegimos “Unwrap”. Para trabajar más cómodamente activamos la opción “keep UV”, está opción nos permite seleccionar caras, segmentos y vértices del mapa UV, desde el modo edición del objeto y viceversa.



Ahora colocamos el nodo “Separate XYZ”. Añadimos un nodo “Texture coordinate” y conectamos el nodo de salida UV, al nodo “Separate XYZ” y presionamos Ctrl+Shift+clic para ver el degrade sobre el eje X de sus sistema de coordenadas local de la taza.



‒ Graficar la función seno.

Ahora pasaremos a graficar la función seno sobre la taza, para ello añadiremos dos nodos “Math” con las operaciones “Sine” y “Subtract”, el nodo “Math” está en la categoría “Converter-Math”, y los conectamos tal como se muestra en la siguiente captura de pantalla, y de ese modo hemos colocado la función implícita de la función seno:



Esto nos graficará una especie de curva senoidal sobre la taza y obtendremos el siguiente resultado.



La curva que aparece no es lo que se busca y esto es debido a que nos falta implementar tres características esenciales, la escala, el desplazamiento y el grosor de la linea de la función seno. Pero debemos tener en cuenta que la función esta usando las coordenadas UV del mapa que hemos creado, esto significa que el origen de coordenadas estará en la esquina inferior izquierda, y que la función se dibujará por encima de todos los mapas que están distribuidos por el lienzo. Tal como se muestra en la imagen.



Aquí lo que podemos hacer es acomodar los mapas UV para que calcen con la función, es decir escalar el mapa UV, moverlo y etc. Pero lo que haremos realmente es implementar unos nodos que nos permitan escalar y mover la función sobre los mapas UV.

‒ Organizando los materiales.

Antes pasaremos a organizar un poco los materiales, para ello crearemos un nuevo material que será para la textura procedural y otro material para toda la superficie de la taza. Al material que tendrá la textura procedural la llamaremos Patrones, al otro la llamaremos Taza. Dentro del material Taza, deben estar los grupos de nodo que hemos creado que son porcelana, loza, terracota y terracota vidriada; y dentro del material Patrones deben estar los nodos que hemos mencionado y ademas ahí es donde debe quedarse lo que hemos avanzado es decir en este material tendremos la textura procedural que graficará la función seno.

Para crear estos materiales debemos usar la ventana de propiedades, añadiremos un nuevo material presionando en el símbolo más y después en “new” o nuevo.



Este nuevo material no tendrá el contenido del material anterior en el que estamos trabajando, así que lo que necesitamos es copiar todo el contenido del anterior material al nuevo recién creado, esto se hace del siguiente modo:

1. seleccionamos el material del que queremos copiar su contenido

2. Hacemos clic en la flecha debajo del signo menos, y luego hacemos clic en “Copy material”

3. seleccionamos el nuevo material

4. Hacemos clic en la flecha debajo del signo menos, y luego hacemos clic en “Paste material”

Ahora que ya tenemos los materiales, le colocamos los nombres “Taza” y “Patrones”. Seleccionamos el material “Taza” y borramos los nodos de la función seno implícita.



Conectamos el grupo de nodo Porcelana a “Material Output”, seleccionamos todas las caras del modelo en el modo edición y presionamos el botón “Assign”.



Ahora seleccionamos el material Patrones, y seleccionamos las caras en donde se dibujarán los patrones senoidales y presionamos el botón “Assign”.



‒ Escalar y desplazar una función.

Ahora vamos a añadir dos nodos “Math” a nuestra textura procedural con la operación “Multiply”, esta operación nos permitirá escalar nuestra función seno. Uno de los nodos lo conectamos entre la salida X del nodo “Separate XYZ” y la entrada de la función seno, y el otro entre la salida Y del nodo “Separate XYZ” y el nodo “Add” que conforma la función seno implícita. Colocamos los siguientes valores 60 para el eje X y 30 para el eje Y.



y con eso podremos apreciar unas curvas en la parte inferior de la taza.



Otra vez añadiremos dos nodos “Math” más con la operación “Add”, esta operación nos permitirá desplazar nuestra función seno. Uno lo conectamos entre la salida X del nodo “Separate XYZ” y la entrada del nodo “Multiply”, y el otro entre la salida Y del nodo “Separate XYZ” y la entrada del nodo “Multiply” correspondiente al eje Y. En el nodo “Add” del eje Y, colocamos un valor de -0.15 para subir la función seno por el eje Y.



El resultado será algo parecido a esto:



Ahora organizamos los nodos colocando algunos marcos con Shift+P.



‒ Definir la línea y grosor.

Para definir el borde de la función seno usaremos el nodo “Math” con la operación “Greather than”, este nodo nos permitirá definir el borde de la función, es decir si el valor 01 es mayor al indicado en el valor 02, este arrojará un valor de 1 es decir pondrá en color blanco los tonos grises mayores a valor 02, en caso contrario arrojará un valor 0, es decir pondrá en blanco los tonos grises menores a valor 02.



El resultado obtenido será el siguiente:



Ahora para definir la línea de la función seno haremos uso del nodo “Math” con la operación “absolute”, este nodo debemos colocarlo delante del nodo “Greather than” y el valor 02 del nodo “Greather than”, permitirá definir el grosor de la línea de la función seno.



El resultado obtenido será el siguiente:



‒ Repetición del patrón.

Para hacer que el patrón se repita, necesitamos añadir el nodo “Math” con el operador “Modulo”, debemos colocarlo entre el nodo “Absolute” y el nodo “Greather than”. El valor 02 de este nodo se usará para indicar la distancia de separación de los patrones. Colocamos un valor de 0.6 para ir probando.



El resultado obtenido será el siguiente:



Tal como se puede observar, casi al medio hay una línea gruesa de la función seno que estamos graficando, para corregir esa separación, se debe añadir un nodo más entre el nodo “Absolute” y “Modulo”, en el valor 02 de este nuevo nodo se debe ingresar un valor que sea la mitad del grosor de la linea de la función seno, que este caso será de 0.6, el nodo a añadir es el nodo “Math” con el operador “Add”.



El resultado obtenido será el siguiente:



‒ Definiendo colores, alineando y agrupando la textura.

Para definir los colores añadimos un nodo “MixRGB”, y toda la salida de la estructura la conectamos a la entrada “fac” del nodo “MixRGB”, de este nodo color01 será el color de la línea y color02 el color de fondo de la textura. El grosor de la línea se cambio a 0.2 y se puso la mitad en el nodo “Add”.



El resultado obtenido será el siguiente:



Tal como se puede observar, la textura no esta alienada en el inicio de la costura del mapa UV, esto se puede corregir escalando por el eje X o U del mapa UV hasta que calce.

En esta imagen el mapa UV, sin escalar por el eje U o eje X.



En esta imagen el mapa UV, escalado por el eje U o eje X



Ahora lo que debemos hacer es agrupar toda la estructura tal como se muestra en esta imagen:



La estructura que se coloca en el grupo, se puede observar que se añade un nodo “Math” con el operador “Divide”, este nodo lo que hará es dividir por la mitad el grosor de la línea, para de ese modo no añadir una entrada para el nodo “Add”, que corrige la separación del nodo “Modulo”.

Si lo que queremos es sólo graficar una linea senoidal sin que se repita, solo debemos crear un grupo borrando los nodos “Add”, “Divide”, y “Modulo”, tal como se muestra en esta imagen.



Ahora para usar nuestras texturas solo conectamos sus salidas con el color base de uno de los grupos de nodos que hemos creado, por otro lado, debemos activar los modificadores.

‒ Patrones triángulares.

Para crear patrones triangulares, necesitamos implementar la siguiente función de onda triangular en forma implícita, que encontré en la siguiente página web http://mathworld.wolfram.com/TriangleWave.html.

La función “nint” que aparece en esta función, es en realidad la función “round” en los nodos “Math” de cycles. Lo único que hay que hacer es cambiar la función seno por esta función. La estructura de la función de onda triangular es la siguiente:



La estructura completa de la textura es la siguiente:



Un ejemplo del resultado seria el siguiente:



‒ Descargas.

 
‒ Comentarios y sugerencias.

Agradezco de antemano, todo comentario, sugerencia, y donativo a través de , que ayude a mejorar los contenidos educativos de Conoce 3000. Además, cualquier pregunta o duda que tengas lo puedes hacer por este medio. Pero, todo contenido que pueda resultar ofensivo, malicioso, racista, sexista, discriminatorio, obsceno, vulgar será eliminado. Para clases particulares contactame por whatsapp al 📲 (+51) 999 264 073








PORTADA |  INTERESANTE |  APUNTES |  LIBROS |  GALERIA


Creative Commons License


Todos los textos, imágenes y videos de Conoce3000 estan colocados bajo una licencia : Creative Commons Reconocimiento-NoComercial 3.0 Unported License.