miércoles, 5 de agosto de 2015

Blender Cycles: Using a Python Script in a Material Node

Hi. Today I'm going to show you how to execute a python script in a node.

Hola. Hoy voy a mostrar como ejecutar un script hecho en python y dentro de un nodo.

These are the steps to get it:
  1. Create the python script
  2. Register the python script to be used
  3. Add a driver to a node
  4. Reload the blend file
Estos son los pasos para conseguirlo:
  1. Crear el script en lenguaje python
  2. Registrar el script que se desea usar
  3. Añadir un driver al nodo
  4. Volver a carga el archivo blend

1. Create the python script / Crea el script en python


First of all you need to open a Text Editor in any window of your blend file.

Primero de todo necesitas abrir el Editor de Texto en cualquier ventana de tu archivo blend.







Press on the New button to create a new script.

Pulsa el botón New para crear un script nuevo.




Type the name of you script. IMPORTANT: It must be ended with ".py" extension. So Blender can execute the code.

Teclea el nombre de tu script. IMPORTANTE: Debe estar acabado con la extensión ".py". Así Blender puede executar el código.


I recommend you to check these three buttons to make the editor to be friendly with python programming.

Os recomiendo marcar estos tres botones para hacer que el editor sea más amigable con la programación en python.







Type you script. In my example it is the function foo, which returns the value 0.25.

Escribe tu script. En my ejemplo es la función foo, que devuelve el valor 0.25.



2. Register the python script to be used / Registra el script de python para que se pueda usar


The script must include this line at the end:

El script debe incluir esta línea en el final:

     bpy.app.driver_namespace['foo'] = foo

So it lets you to use the function 'foo' in a driver expression.

Así te permite usar la función 'foo' en una expresión de un driver. 

IMPORTANT: Check Register option on the menu bar of the editor. Then the script will be loaded when you open the blend file.

IMPORTANTE: Marca la opción Register (registrar) en la barra de menú del editor. Así el script se cargará cuando abras el archivo blend.


3. Add a driver to a node / Añadir el driver a un nodo

If you want to execute your script in a node you need to add a driver to a node parameter (node input). Press RMB over the parameter and select Add Driver in the menu. In my example I have added the driver in the Roughness parameter of a Diffuse node.

Si quieres ejecutar tu script en un nodo necesitas añadir un driver a un parámetro del nodo. Presiona el botón derecho del ratón sobre el parámetro y selecciona Add Driver (añadir driver) en el menú. En mi ejemplo he añadido el driver al parámetro Roughness de un nodo Diffuse.


The parameter changes its background color, showing that a driver has been added to it.

El parámetro cambia su color de fondo, mostrando que un driver ha sido añadido a él.



Now you need to open a Graph Editor in a window of your blend file.

Ahora necesitas abrir el Editor de Gráficos (Graph Editor) en una ventana de tu archivo blend.




And select Drivers on the menu bar.

Y selecciona Drivers en la barra de menús.



On the left side unfold the tree until you see the Roughness label and press N to show the properties panel. There you can configure the driver.

A la izquierda despliega el árbol hasta que veas la etiqueta Roughness y presiona N para mostrar el panel de propiedades. Ahí puedes configurar el driver.


There are four types of drivers. In this article I select Scripted Expression type and write "foo()" in the Expression textbox. Also you can use variables in your driver. This is very useful to work with arithmetic expressions. In my example I don't use them.

Hay cuatro tipos de drivers. En este artículo selecciono el tipo Scripted Expression (espresión de script) y tecleo 'foo()' en el cuadro de texto Expression (expresión). También puedes añadir variables al tu driver. Esto es muy útil para trabajar con expresiones aritméticas. En mi ejemplo yo no las uso.

4. Reload the blend file / Recargar el archivo blend

The script will be executed when the blend file is loaded. But if you open the file an alert is shown. The message says 'Auto-run disabled', and appears two buttons in the info menu bar. You can reload the file executing its scripts (pressing the button Reload Trusted) or continue working in the file (pressing Ignore). This is to prevent malicious scripts. Also an error message is shown in the Drivers panel.

El script se ejecutará cuando se carge el archivo blend. Pero si abres el archivo se muestra una alerta. El mensaje dice 'Auto-run disabled' (auto-execución deshabilitada), y aparecen dos botones in la barra de menú. Puedes volver a cargar el archivo y ejecutar sus scripts (presionando el botón Reload Trusted o recarga de confianza) o continuar trabajando con el archivo (presionando Ignore o ignorar). Esto previene la ejecución de scripts maliciosos. También se muestra un mensaje de error en el panel Drivers.


By default all blend files are not allowed to execute scripts. If you want to disable this protection you can go File Preferences and check Auto Run Python Scripts.

Por defecto no se permite ejecutar script a todos los archivos blend. Si quieres deshabilitar esta protección puedes ir a las preferencias de archivo y marcar Auto Run Python Scripts o auto ejecutar scripts de python.


Once you have loaded the file and execute the script you will see the Roughness parameter with the value returned by the foo function.

Una vez que hayas cargado el archivo y ejecutado el script verás el parámetro Roughnes con el valor devuelto por la función foo.


In my next article I will show something more interesting to make with drivers.

En mi próximo artículo mostraré algo más interesante que hacer con drivers.

Bye

Hasta la vista




martes, 4 de agosto de 2015

Blender Cycles: Map Range Node for Materials

Hi. Today I'm going to show you how to make a Map Range node for Cycles materials. I have used this node a lot in my materials. This node takes a value in a range (between a maximum and a minimum) and translates it into a value for another range. In CG this is called mapping.

Hola. Hoy os voy a mostrar como hacer un nodo Map Range (mapeo de rango) para materiales en Cycles. Yo he usado mucho este nodo en mis materiales. Este nodo toma un valor dentro de un rango (entre un máximo y un mínimo) y lo traduce en un valor para otro rango. Esto se conoce com mapeo en graficos por ordenador.

The Map Range node exists in Blender, but only for compositing.

El nodo Map Range ya existe in Blender, pero solo para postproducción.



You can make a node group for Cycles materials which works exactly the same as the compositing one. This is its setup:

Tú puedes hacer un grupo de nodos para materiales de Cycles que funcione exactamente igual que el de postproducción. Esta es su configuración:


Now you can use the Map Range node in your materials. For instance, you can experiment with textures.

Ahora puedes usar el nodo Map Range en tus materiales. Por ejemplo, puedes experimentar con texturas.


Bye

Hasta la vista



miércoles, 17 de septiembre de 2014

Blender Compositing: How to create a Vignetting Effect

Hi all friends!

Hola a todos!


The vignetting is a technique which simulates a kind of effect caused by traditional camera lens on its pictures. It consists of the corners of the image appear dimmed. Digital cameras mimics this effect to give an artistic touch to the photo.

El viñeteado es una ténica que simula efectos producidos por la lente en cámaras tradicionales en sus fotos. Consiste en que las esquinas de la imagen aparecen oscurecidas. En las cámaras digitales se imita este efecto para dar un toque artístico a la foto.

You can create a vignetting effect in Blender through compositing. I'm going to take a render and create this effect through the node editor.

En Blender se puede crear un efecto de viñeteado a través de la postproducción (compositing). Voy a tomar un render y con ayuda de nodos crearé el efecto.

Firtsly I have placed an Ellipse Mask node for creating the rounded shape. You can see the Viewer output on the right bottom corner.

En primer lugar tomaré el nodo Máscara Elíptica (Ellipse Mask) con el objetivo de generar la forma redondeada. En la esquina inferior derecha puedes ver el resultado del nodo Viewer.



After that I have used a Blur node to create a gradient between the white and black parts of my mask. In my tests I have used the Fast Gaussian method of the node, but for your final version you can use other methods, which are slower but produce better results.

Después utilizaremos un nodo Blur para crear un degradado entre la parte blanca y la parte negra de mi máscara. Para las pruebas he utilizado el método Fast Gaussian de éste nodo, aunque para la versión final puedes usar alguno de los otros métodos más lentos pero que producen mejores resultados.


Now I can connect my render with the mask. I have used a Mix node (with mix mode) so I have gotten the render with a rounded balck border arount it.

Ahora es el momento de conectar nuestra imagen renderizada con la máscara. Utilizando un nodo Mix (tipo de mezcla mix) podemos crear un borde redondeado oscuro alrededor de la imagen.


We can change the black border by a dark version of the render, as it ocurrs in photographic cameras. I have used a Hue Saturation Value node, increasing the Saturation parameter and decreasing the Value parameter. The Invert node is not needed here (you only have to change de image order in the Mix node), but if you want to test other mix modes like Overlay or Darken, it's needed using the Mix node on this way.

Podemos sustituir un el borde negro por una versión oscurecida de nuestro render, como ocurre con las cámaras fotográficas. Para ello he utilizado un nodo Hue Saturation Value, aumentando el parámetro Saturation y reduciendo el parámetro Value. El nodo Invert (invertir) no es necesario en este ejemplo (sólo tienes que cambiar el orden de las imágenes en el nodo Mix), pero si deseas experimertar con otros tipos de mezcla como Overlay o Darken, es más útil usar el nodo Mix de esta manera.






In the Mix node you can use other mix modes or use a Color Ramp node or a RGB Curves node to control the mixing factor.

En el nodo Mix puedes usar otros modos de mezcla o usar un nodo Color Ramp o de Curvas RGB para controlar el factor de mezcla.







Finally, it exists another mask node with a rectagular shape. It is called Box Mask node. So you can create a rectagular vignetting.

Por último existe también otro nodo de máscara con forma rectangular (Box Mask). De este modo puedes crear un viñeteado rectangular.


 Or through tweaking the margins you can create a horizontal gradient in the center of the image.

 O jugando con los márgenes crear una especie de degradado horizontal en el centro de la imagen.


I hope you like it this mini tutorial.

Espero que os haya gustado este mini tutorial.



Bye!

Hasta la vista!

jueves, 14 de agosto de 2014

SSS Plastic Material

Hi everybody. Today I'm going to show you how to make a realistic plastic material like this:




Firstly, I recommend you to see this video tutorial about how to setup a SSS node in Cycles made by @pauljs75.

The overall setup of the yellow plastic is as follows:


I have used two SSS nodes to get my base SSS material. I have used the method explained in the video tutorial. The color of the SSS node is the base color of the shader. The color of the RGB node is the scattered color.



(I should have created a node group with this setup)

Also I have added a diffuse node to reduce the noise of my material.



Finally I have added some basic glossiness to my material



The red plastic is slightly different. Here you can see the node detail:





As the SSS materials are very noise, I strongly recommend you to use compositing and bilateral blur nodes to get a good render. You can find some video tutorials explaining this on CGCoockie:
I used it in my Funky Cube render in the begining of this article.

Bye





miércoles, 2 de abril de 2014

La muerte de Windows XP

El próximo 8 de abril de 2014 Microsoft va a dejar de dar soporte técnico a Windows XP ¿Qúe significa ésto? Si en su hogar o en su empresa sigue utilizando todavía Windows XP es necesario que vaya pensando ya en un cambio de sistema operativo, bien a una versión posterior de Microsoft o bien a otro tipo de sistema operativo, por ejemplo uno basado en Linux como Ubuntu. Estas son las razones por las que debe plantearse ya esta cuestión:
  • Los programas que esté usando dejarán de tener versiones y actualizaciones para Windows XP. Es sólo cuestión de tiempo que dejen de tener en sus páginas web versiones de los programas para él. Muchos programas de software libre ya han anunciado que sus próximas versiones no estarán disponibles para XP, por lo que tendrá que trabajar con programas antiguos.
  • Si se compra un periférico nuevo o cualquier dispositivo que conecte con un ordenador, los fabricantes ya no crearán drivers para XP. Ratones, impresoras o cámaras de fotos nuevas le indicarán que sus drivers y su software es sólo otras versiones de Windows.
  • Entornos de ejecución de programas, como Java o Flash, dejarán de actualizar su software para windows XP, con lo que los programas nuevos que se ejecuten en ellas podrían dar problemas. Por ejemplo muchas aplicaciones de firma electrónica web usan Java. ¿Qué pasará cuando la web de Hacienda o la Seguridad Social pida una versión de Java no soportada por Windows XP?
  • Los navegadores tampoco se actualizarán. Por ejemplo la última versión del Microsoft Internet Explorer para XP en la 8. En Windows 7 y 8 puede usar hasta la 11. Muchos sitios web pueden empezar a pedir que como mínimo sea necesario utilizar la versión 9 u otras posteriores para que funcionen todos sus componentes. Dejará de ver de forma adecuada esas páginas o incluso no podrá utilizarlas.
  • Los creadores de virus y malware seguirán buscando recovecos de XP para ejecutar sus programas dañinos. Los antivirus de versiones XP podrían dejar de actualizarse de manera adecuada en cualquier momento. Con el tiempo esos equipos serán más vulnerables.
En definitiva, el resultado de la "muerte" de Windows XP seguramente sea más pernicioso que el efecto 2000 para aquellos que todavía trabajen con ese sistema operativo, como es mi caso.

martes, 11 de marzo de 2014

Blender Cycles: Rendering Tips (WIP)

Hi everybody. In this article I'm going to write brief tips that I use in my cycles renders. I hope they will be useful for you. This article is in process.

Hola a todos. En este artículo voy a ir poniendo breves consejos que yo mismo utilizo en mis renders. Espero que os sean útiles. Este artículo está en elaboración.

  • For creating a plastic or ceramic material use a mixture between a Diffuse node and a Glossy node. 
  • Para crear un material de tipo plástico o cerámico usa una mezcla entre un nodo difuso (Diffuse) y un nodo de brillo (Glossy)

  • For creating a metal material use a mixture between two Glossy nodes.
  • Para crear un material de tipo metal usa una mezcla (Mix) de dos nodos de brillo (Glossy)

  • In the real world there are not completely diffuse materials. Almost all materials reflect light at gracing angles at least (for example, paper). So use always some kind of reflection.
  • En el mundo real no hay materiales completamente difusos. Casi todos los materiales reflejan luz al menos en angulos cercanos al paralelo de la superficie (por ejemplo el papel). Así que usa siempre algún tipo de reflexión.


  • Using Fresnel or Facing factors for glossiness makes the materials for curved or spherical surfaces more realistic.
  • Usar factores Fresnel o Facing para el brillo hace los materiales de superficies curvas o esféricas más realistas.


  • Kind of Glossiness depending on the roughness value:
    • 0.0 > Sharp. This option ignores the roughness value.
    • Less than 0.3 > Beckmann
    • Greater than 0.3 > GGX. It is more realistic.
  • Tipo de brillo (Glossy) según el valor de la aspereza:
    • 0.0 >> Sharp. Se ignora el valor con este tipo).
    • Menor que 0.3 >> Beckmann
    • Mayor que 0.3 >> GGX. Es más realista.

  • Don't use colors with Value (in HSV format) greater than 0.8 for Diffuse, Glossy, Velvet and Anisotropic shaders. It produces fireflies in renders and rarely occurs in the real world.
  • No use colores con valor (en formato HSV) mayor de 0.8 para shaders difuso, de brillo, de tercipelo o anisótropo. Produce puntos luminosos en los renders y raramente ocurren en el mundo real.


  • In shaders which let light rays go inside the surface of objects, that is, Glass, Refraction, Translucent and SSS shaders, use a Value (in HSV format) near to 1.0. Otherwise you will get too opaque materials or with a very dark transparence.
  • En shaders que dejan pasar los rayos de luz dentro de los objetos, es decir, shaders de vidrio, refracción, translúcido o de dispersión bajo superficie, usa un valor (en formato HSV) próximo a 1.0. De otro modo conseguirás materiales demasiado opacos o con una transparencia muy oscura.

  • For reducing the noise of your render you should increase the number of samples, not the number of bounces.
  • Para reducir el ruido de tu render deberías incrementar el número de samples, nunca de bounces.

  • Meshlights (objects with emission shader) don't produce Shadow pass. If you need it for your compositing, you must use Lamps.
  • Los objetos de luz (objetos con shader de emisión) no producen pase de sombra. Si lo necesitas en tu postproducción debes usar lámparas.


  • You can use Ambient Occlusion node in your material without checking Ambient Occlusion in the World setup. The Distance parameter is activated, so you can configure how AO works.
  • Puedes usar el nodo de oclusión ambiental en tu material sin marcar oclusión ambiental en la configuración del mundo. El parámetro distancia estará activado, de modo que puedes configurar cómo funciona la oclusión ambiental.

  • If your material is very noisy, for example those with Translucent shader or SSS shader, use compositing and Bilateral Blur node to avoid it.
  • Si tu material tiene mucho ruido, por ejemplo aquellos con shader traslúcido (Translucent) o de dispersión bajo superficie (SSS), utiliza postproducción y el nodo de difuminado bilateral (Bilateral Blur) para evitarlo.

  •  Remember you can create a procedural World in your scene using Texture nodes.
  •  Recuerda que puedes crear un mundo de modo procedral en tu escena usando nodos de texturas.

Este sitio emplea cookies de Google para prestar sus servicios, para personalizar anuncios y para analizar el tráfico. Google recibe información sobre tu uso de este sitio web. Si utilizas este sitio web, se sobreentiende que aceptas el uso de cookies. Más información Entendido