2
Blendercat 8ª Edición Revista Oficial Octubre 2014 Blendercat 8ª Edición Revista Oficial Octubre 2014 CONTENIDO
PÁG.
EDITORIAL Apreciados lectores
1
Editorial Modelado de neuronas por Isaac Miquel Render IO de Ricardo Maldonado DPL por Konfrare Albert Mi propio menu por Marçal Mora Render por Abraham Castilla
www.blendercat.org ASSOCIACIÓ BLENDERCAT Sant Jaume,339 08370 CALELLA BARCELONA SPAIN blendercat@blendercat.org
Tenemos la 8ª edición de la revista publicada y esto implica que ya van 8 ediciones donde aficionados y entusiastas del Blender nos 11 reunimos para compartir conocimiento y experiencias. 13 Esta edición parecía mucho más compleja que las anteriores, debíamos introducirnos dentro del mundo de la 16 programación para sacarle aún más provecho a nuestro programa 19 favorito. He de comentaros que personalmente recomiendo que sea así, al menos una vez. Poder ver cómo sacarle más partido al programa a través de addons creados por nosotros mismos y entender como funciona una parte de Blender aunque nos tengamos que iniciar en Python debe ser obligatorio. Esta parte de Blender que parece pertenecer sólo a programadores y que no es así, es lo que dá sentido al programario libre, ponerlo en práctica y ver el resultado es tan impactacte como el primer render. En este número os dejamos un breve tutorial para que veais el potencial de la ventana Scripting de Blender que nunca nos atrevíamos a utilizar. También encontrareis dos tutoriales más dedicados a cycles y un breve resumen de lo que son capaces nuestros compañeros de La Palma de Cervelló que año tras año, reunen a especialistas en todos los campos del programario libre. Un evento genial y que cada año gana más adeptos. 3
Del 18 al 19 de octubre de este año se realizó la 8ª edición de la Blendercat, con una MasterClass sobre cómo crear Addons en Blender. Un breve e intensivo fin de semana impartido por Jaume Castells que nos enseñó las bases para trabajar con Python dentro de Blender y generar Scritps. Podeis ver lás fotos del evento en la web http://www.blendercat.org/edicions anteriors/8aedicioo14/?lang=es
VIDEOMAPPING En la inauguración de los Juegos Special Olympics de Calella, pudimos ver un videomapping de nuestros socios; Miki Gual con aportaciones de La mascota NUC realizada en Blender Blender de Marçal para el videomappinbg de la inauguracion Mora y la mascota de www.jocsspecial.cat los juegos, realizado de los Special Olympics por Miquel Rossell.
3
Blendercat 8ª Edición Revista Oficial Octubre 2014
Modelado de neuronas por Isaac de Palau El objetivo de este tutorial será crear una escena que represente una conexión de sinapsis neuronales. Si bien no es un tutorial excesivamente complicado, supondré que conoceis la interfaz de blender, sabeis aplicar materiales y texturas y teneis una vaga idea de cómo funcionan las Render Layers y el editor de nodos. Comenzaremos a modelar a partir de un cubo. Esto quiere decir que como buenos usuarios del blender que somos y para no romper con la tradición borramos el cubo que viene por defecto y añadimos uno nuevo (Shift + A). Si alguna vez has observado la imagen de una neurona veras que tiene una "cola" y un "cabeza" con multitud de ramificaciones (no soy biólogo ni neurólogo, así que no sé cómo se llama cada una de estas partes ...) . Primero modelaremos estas extremidades y ramificaciones antes de empezar a aplicar materiales y animaciones a los mismos.
WIKIPEDIA Las neuronas presentan unas características morfológicas típicas que sustentan sus funciones: un cuerpo celular, llamado soma o «pericarion» central; una o varias prolongaciones cortas que generalmente transmiten impulsos hacia el soma celular, denominadas dendritas; y una prolongación larga, denominada axón o «cilindroeje», que conduce los impulsos desde el soma hacia otra neurona u órgano diana.
4
Blendercat 8ª Edición Revista Oficial Octubre 2014 Empezamos por aplicar un modificador Subsurf Empezamos por crear la "cola" de la neurona. al cubo. Por ello vamos a la pestaña de Tomamos la cara que da al eje + Y, la extruimos modificadores y hacemos click en el menú con la tecla E, y escalamos hacia dentro con S. desplegable que pone "Add modifiers". Buscamos el modificador Subsurf. Así podremos modelar la neurona dándole una forma orgánica.
Ahora tenemos que extruir las ramificaciones del cuerpo. Después la extruimos hacia fuera, dándole un grosor en la parte del medio. Nos aseguramos de que el modificador esté en modo CatmullClark y añadimos 2 subdivisiones tanto a view como a render. Cuanto más subdivisiones, más detalle. Pero tampoco debemos excedernos, no lo necesitamos y además cada subdivisión aumentará el tiempo de renderizado y nos relantizará la máquina a la hora de trabajar.
Cuando tengamos la cola hecha podemos añadir más loops con Ctrl + R y mover la punta de la cola con proporcional editing para darle una forma curvada.
Empezamos cogiendo una cara del cubo original, la extruimos y la escalamos hacia dentro como hemos hecho con la cola.
Las extruimos hacia fuera. Escalamos los vértices de la punta hacia adentro, de manera que la rama terminará en punta.
Pero eso va a gustos y tampoco es necesario.
www.blendercat.org
5
Blendercat 8ª Edición Revista Oficial Octubre 2014 Ahora podemos añadir más subdivisiones en medio para poder curvar la rama, de forma similar a como hemos hecho con la cola, pero aquí cuanto más curvada e irregular esté, mejor. Podemos añadir dos loopcuts (Ctrl + R) y desplazar el de abajo en el eje Y y el otro en el eje X:
Como queremos que la rama quede realista, escalamos los vértices de la punta hacia adentro y añadimos un nuevo loop cerca del tronco.
Ahora será cuestión de ir añadiendo diferentes ramas y ramificaciones. Después de dedicar un rato deberíamos acabar obteniendo un modelo También podemos crear loops muy juntos y parecido a las tres fotos siguientes: extruir una o más de las caras que forman para Puede tener más ramificaciones o también crear más ramificaciones: quedará bien con menos. Esto dependerá de
www.blendercat.org
las ganas que tengas de modelar. Pero dedica un rato que si no, en vez de una neurona, parecerá una maza medieval.
6
Blendercat 8ª Edición Revista Oficial Octubre 2014 Ya tenemos la neurona moldeada, ahora le transparente. Nos debería quedar algo así: tendremos que aplicar un material y una textura. Las texturas serán procedurales, por lo que no tendremos que descargar nada de Internet y todo lo haremos desde el blender. La escena consistirá en dos planos de neuronas. Las del primer plano tendrán un color anaranjado. Las del segundo plano tendrán un color azulado. Esto dará un efecto en las neuronas del primer plano como si circulara algún tipo de corriente eléctrica. En primer lugar vamos a crear el material naranja.
Ahora vamos a Specular y bajamos Intensity al Empezamos por seleccionar el modelo e ir a la mínimo. No queremos ningún tipo de reflejo. pestaña de Materiales, en el panel de difuse. Seleccionamos un color naranja, Deberíamos ver cómo el material nos queda aproximadamente R: 0465, G: 0.176, B: 12:05 naranja con los contornos de color amarillo. Es Ahora añadimos una rampa de color marcando un color bastante aburrido. Vamos a ponerle un la opción Ramp. Esta opción nos permite hacer poco de alegria. degradados de color, transparencias, etc. Marcamos la casilla del apartado de Seleccionamos la opción BSpline y input> Transparency y seleccionamos Raytrace. Normal. El primero es el tipo de degradado. En Queremos que la neurona sea casi transparente el segundo, la opción normal hará que el para darle un aspecto vidrioso y cristalino, por lo degradado sea siempre hacia la parte exterior que en primer lugar tendremos que bajar Alpha del objeto, independientemente del ángulo 0.1. Después subimos el Fresnel a 1.2 y el IOR a 1.2 o 1.3. El fresnel hará que una pequeña desde el que lo vemos. porción del interior del objeto parezca más Cambiamos la marca de la izquierda a un color opaca, mientras que el IOR deformará la luz amarillo (R: 0853, G: 0.750, B: 0.125) y la que atraviesa el material tal y como lo haría un desplazamos ligeramente a la derecha. La otra vidrio de superficie irregular (piénsese en un ojo barra será negra y completamente de buey). Finalmente, bajamos Specular a 0. www.blendercat.org
Las opciones de transparencia y el material deberían quedar así:
7
Blendercat 8ª Edición Revista Oficial Octubre 2014 Ahora mismo la neurona parece hecha de vidrio liso, y no queremos exactamente eso. Para evitarlo haremos dos cosas: la primera será que la transparencia será irregular, algunas zonas serán más transparentes que otras. En segundo lugar, añadiremos rugosidad a la neurona, por lo que deformará aún más la luz que lo atraviesa.
Vamos el panel Diffuse y cambiamos el color naranja por un azul (R: 0.104, G: 0241, B: 0507). El color amarillo de la rampa lo cambiaremos por un azul cielo (R: 0346, G: 0.830, B: 0911). En el panel de Transparency subimos el Alpha a 0.6. De lo contrario nos quedaría un fondo muy oscuro.
Vamos al panel de texturas y añadimos dos texturas.
La primera la cambiamos a Type> Clouds.
Ahora tenemos que borrar la cámara que viene por defecto. Tendremos que añadir otra que esté bien enfocada, por lo que nos situamos en la vista lateral (numpad 3) y añadimos una cámara (Shift + A> Camera). La movemos en el eje X hasta que quede fuera de la reja. Esta textura hará que el nivel de transparencia de la neurona sea completamente uniforme y le Ahora necesitamos iluminar correctamente las dará más realismo. neuronas. Una buena forma de hacerlo será añadiendo una luz de clase Hemi (Shift + A> Ahora seleccionamos la segunda textura que Lamp> Hemi) y rotandola en el eje Y de hemos creado y la cambiamos a Type > manera que quede mirando a la cámara en el Distorted Noise. Vamos al panel de influence, otro extremo de la parrilla . La Point Light que desmarcamos color y marcamos Normal (se viene por defecto en la escena la dejaremos. No encuentra bajo Geometry). Nos aseguramos de modificaremos ni la intensidad ni la energía de que esté a 1.000, ya que si lo pusiéramos las lámparas. además el relieve de la neurona quedaría muy exagerado.
Ahora vamos al panel Influence, desmarcamos Perfecto! Ya hemos acabado nuestro material. la opción de Color y marcamos Alpha. Nos Para hacer el color azul del segundo plan sólo aseguramos de que esta última esté a 1.000 tenemos que duplicar la neurona. Donde pone el nombre del material, hacemos clic en el símbolo '+' y eso nos creará un material aparte exactamente igual al viejo. www.blendercat.org
8
Blendercat 8ª Edición Revista Oficial Octubre 2014 Ahora deberíamos una escena similar a la de la Las neuronas naranjas estarán en la primera imagen: una neurona naranja, una azul, una cámara, una luz hemi opuesta a la cámara y capa, correspondiente al primer plano, y duplicaremos unas cuantas, pero no tantas una point light. como las azules.
Podemos cambiar el nombre de las dos capas: la de arriba será el primer plano con las neuronas naranjas y la segunda el fondo con las azules. Seleccionamos la primera Render Layer y vamos al subapartado de Layer. Nos aseguramos de que las dos primeras casillas de Scene estén seleccionadas, y sólo la primera de Layer. Con la segunda Render Layer deberemos seleccionar sólo la segunda casilla de Layer:
Lo último que nos queda por hacer antes de pasar a los Nodos es duplicar las neuronas para llenar la escena. Movemos la neurona azul en la segunda capa y la duplicamos varias Asegúrese de que la distribución de las neuronas naranjas quede bien en la pantalla veces, formando una especie de pared: antes de continuar. Una vez estamos contentos con la distribución de los objetos de la escena, vamos a la barra Finalmente vamos al apartado de Render de la de Properties> Scene y pulsamos el botón + barra de propiedades y dentro del subapartado para crear una segunda Render Layer. Shading cambiamos el desplegable de Alpha a Transparente.
www.blendercat.org
9
Blendercat 8ª Edición Revista Oficial Octubre 2014 Le damos a F12 y una vez esté renderizado, vamos al apartado de Nodos. Ahora tendremos que manipular la imagen para hacerla más espectacular. Será un árbol de nodos bastante largo, pero el efecto vale la pena. En primer lugar daremos más luminosidad al primer plano y añadiremos algún Glare y Blur. Después difumina el fondo para dar el efecto de profundidad y lo mezclaremos todo. Finalmente añadiremos un poco de distorsiones de lente y Chroma Aberration.
del nodo Invert. Creamos un nuevo nodo color > Mix que pondremos a multiply. Finalmente añadimos un Filter> Blur conectado a la salida del Multiply. Cambiamos el tipo a Flat, marcamos relative y X = 0.3 y Y = 0.3. Copiamos el nodo Multiply y conectamos la salida Image del Render Layers en la parte de abajo, y la salida del filtro Blur a la entrada de arriba. Ahora deberíamos tener un árbol de nodos como este:
Empezamos marcando el botón Use Nodos porque, efectivamente, queremos utilizar los Nodos. Primero de todo vamos a trabajar con el primer plano. ¿Qué queremos hacer? Estaría bien hacer las neuronas naranjas más luminosas, como si brillaran. Para ello necesitaremos un filtro Kirch (resalta los bordes) y un filtro blur (para dar un efecto como las luces de neón). Seleccionamos el Nodo Render Layers y cambiamos la capa del desplegable en la capa principal, la que es el primer plano de nuestra escena (las neuronas naranjas). Añadimos un filtro Kirsch (Add> Filter> Filter y seleccionamos Kirch en el desplegable del nodo) y lo conectamos a la salida Image del nodo Render Layers. Ahora añadimos un nodo Invert (Add> color> Invert) marcamos RGB y desmarcamos Alpha. Nos aseguramos de que el Factor esté al máximo y conectamos la salida Alpha del Nodo Render Layer a la entrada Color www.blendercat.org
Ahora creamos un nodo Mix, lo cambiamos a tipo Add y conectamos la salida Image del Render Layers en la entrada de abajo del nodo Add y la salida del nodo multiply a la entrada de arriba. Ya hemos terminado los nodos para el primer plano!
10
Blendercat 8ª Edición Revista Oficial Octubre 2014 Pero ahora nos falta el fondo. Por suerte será Por último nos quedan los efectos de cámara: Conectamos el Output a un nodo Composite y mucho más sencillo y corto, ya que sólo efecto viñeta y distorsión de lente, y también un ya tenemos la escena !!! Bien, una vez la hayas tendremos que difuminar la imagen. Glare. renderizado. Pulsa F12 y ve a por un café. Lo necesitarás para el desayuno de mañana. Creamos un nuevo nodo Render Layers y lo Creamos un nodo Glare conectado a la salida cambiamos a la capa del fondo. Ahora del nodo Add que mezcla los dos planos. añadimos un filtro Blur, de tipo Gaussian, Cambiamos el nuevo nodo a tipo Fog Glow y marcamos la opción Relative y ponemos X = 1 Quality a Medium. Añadimos un nodo Lens e Y = 1. Distortion, marcamos la opción Fit y ponemos Distortion a 0.015 y dispersion a 0.007. Ahora necesitamos mezclar el primer plano y el Creamos un nodo Mix y dejamos todos los fondo. Duplicamos el nodo Add, conectamos el parámetros por defecto. Copiamos el nodo Lens Add viejo en la entrada de arriba y luego la distortion, deseleccionar Fit, Distortion = 1, salida del nodo Blur a la entrada de abajo. Dispersion = 0. Conectamos el output del nodo Mix en el input de este nuevo nodo. Añadimos un filtro Blur Gaussiano, marcamos la opción relative y ponemos X = 30, Y = 30. Finalmente mezclamos el filtro Blur y el primer Lens Distortion que hemos creado con un filtro Mix puesto a Multiply.
www.blendercat.org
11
Blendercat 8ª Edición Revista Oficial Octubre 2014
Cómo crear un Clay Render por Eduardo Maldonado Hola a todos. Algunas veces, cuando estás creando una escena compleja, necesitas un método para conseguir un render simple de tus objetos, sin tener en cuenta materiales, luces, fondos o ambientes. Esto se conoce como un "clay render" o render de arcilla (ver imagen pequeña). En algunos motores de renderizado existe una opción para hacer ésto. Pero en Cycles no la tenemos.
"Living room daylook" por babydarling EN RENDER INTERNO SI El addon "ClayRender" agrega una opción en el menú Propiedades> Render que te permite cambiar rápidamente: activarlo y desactivarlo sin tener que cambiar todos los materiales cada vez. Ten en cuenta que el motor de render selecionado sea
Blender Render. Activando la casilla Clay Render se añade automaticamente en la pestaña materiales un material con el sobrenombre de Clay_Render y que queda asignado a cada objeto de la escena. Obviamente se pueden cambiar los valores y el color de este material.
TRUCO: Otro método más directo para establecer el mismo material en todos los objetos de la escena es crear dicho material en un objeto y luego acudir al editor de propiedades, botón capas del render y panel Capas (Properties >> Render Layers >> Layer). Allí hay una lista desplegable llamada "Material" que si se selecciona sobreescribe el material de todos los objetos de la escena.
12
Blendercat 8ª Edición Revista Oficial Octubre 2014 En CYCLES RENDER hay una técnica simple para conseguir un "clay 2. La configuración de nodos para el universo (World) debe ser esta: render". Sólo necesitas dos configuraciones de nodos: 1. Todos los objetos deben tener el mismo material. Debería ser el siguiente:
El color debería ser RGB(0.8,0.8,0.8) o similar, y el parámetro roughness es 1.0. De este modo se utiliza el algoritmo OrenNayard para el shader No necesitas colocar lámparas, mallas con luz o marcar oclusión diffuse. El algoritmo Lambertian produce colores más brillantes y ambiental en la configuración del universo. Si prefieres otro color de sombras más oscuras y se utiliza con roughness igual a 0.0. fondo cambia el azul en el nodo background. El nodo background blanco tiene un color con un valor RGB (1.0,1.0,1.0) Si quieres asignar un material a todos los objetos de tu escena, lo puedes crear para un objeto, lo seleccionas, presionas A (selecciona 3. Puedes hacer tu render menos complejo, relajando algunas opciones todos los objetos, pero el objeto activo es el primero), y vas al menú de las propiedades de renderizado: Object >> Make Links >> Materials. * desmarca Shadows * marca No Caustics Créditos: Puedes ver el tutorial original en http://elbrujodelatribu.blogspot.com.es Puedes descargar la escena de ejemplo en blendswap (por @babydarling).
www.blendercat.org
13
Blendercat 8ª Edición Revista Oficial Octubre 2014
Dia de la libertad del Software
por Konfrare Albert
UNA ANÉCDOTA PARA CADA AÑO La primera edición (2011) permitió a la Konfraria conocer el funcionamiento de Open Street Map de la mano de Celso González. El mapa de la Palma de Cervelló estaba completamente vacío y unos meses más tarde organizaron unos talleres abiertos para ayudar a completarlo. Actualmente la Konfraria participa activamente en la comunidad catalana de OpenStreetMap. Todo esto no habría sido posible sin el DLP 2011. La segunda edición (2012) tuvo como protagonistas a los dispositivos móviles. Hablamos de Android pero también pudimos ver un dispositivo con FirefoxOS antes de que saliera al mercado. También hablamos de OsmAnd, una potente aplicación que utiliza datos de OpenStreetMap. La tercera edición (2013) fue el inicio del formato de actividades solapadas en el espacio y el tiempo. Se utilizaron tres espacios (teatro, biblioteca y PuntTIC), pero el bullicio fue sobre todo al teatro. Esto dio mucho más dinamismo al evento y más libertad a los ponentes. La conclusión de ese año fue clara: «Los próximos años, todos al teatro!».
Fachada del
Teatro Societat Aliança Palmarenca Edición del 2013
HISTORIA La Palma de Cervelló es una pequeña población de menos de 3.000 habitantes, situada a unos 20 Km de Barcelona, en el Baix Llobregat, en el espacio entre las cordilleras de Collserola y del Ordal. Era el verano de 2011 cuando un grupo de palmareños, fanáticos del software libre, decidieron ampliar la oferta de actividades para el Día de la Libertad del Software (Software Freedom Day) en Cataluña.
Desde el año 2005 y hasta ese momento, la asociación Caliu (catalana LInux Users) liderada por Rafael Carreras se había encargado de organizar el evento en Barcelona, el tercer sábado del mes de septiembre. Desde un principio se tenía una cosa muy clara: la idea era ampliar la oferta, y por este motivo se decidió adelantar la celebración al viernes previo a la celebración mundial.
Desde entonces ya han pasado cuatro años y poco a poco, el Día de la Libertad del Software en la Palma de La entidad era la Konfraria de la Vila del Pingüí de la Cervelló se ha ido consolidando como una actividad de Palma de Cervelló que se había fundado un año antes. interés para todo aquel con inquietudes acerca del software y de la cultura libre.
14
Blendercat 8ª Edición Revista Oficial Octubre 2014 EDICIÓN 2014 El pasado 19 de septiembre todas las actividades del Día de la Libertad del Software se realizaron en el Teatro Sociedad Alianza Palmarenca, donde durante toda la tarde fueron desfilando personas de todo tipo para participar de los talleres y charlas. La tarde fue fantástica y el tiempo acompañó de la mejor manera, y el único incidente lo encontramos en un accidente en la BV2421 que dificultó el acceso a la Palma de Cervelló durante unos minutos. La jornada la inauguró Andreu Cabré con un taller de Blender de dos horas sobre «Creación de materiales con Cycles». Como él mismo explicó a la cámara de la Palma TV: «Cycles es un motor de renderizado moderno, e incorpora una manera nueva y diferente de crear materiales». A pesar de ser un taller de nivel medio, hubo un buen nivel de participación, en torno a las 10 personas. Según Andreu, todo y que había usuarios noveles y expertos, el taller ofrecía algunos conceptos que son de utilidad para todos. Francesc Dorca, por ejemplo, expresaba su admiración por el hecho de que «una población tan pequeña tenga tanto empuje linuxero »y añadía:« tengo que decir que el ambiente que había era de lo más estimulante y que aprendí unas cuantas cosas muy útiles sobre el Blender». El taller más largo (4 horas) lo ofreció Carlos López Quintanilla, consultor SIG y defensor del software libre en este ámbito. El taller que presentó fue de «Introducción al QGIS 2.0». La aplicación Quantum GIS es una de las herramientas más potentes para trabajar con información geográfica. Uno de sus potenciales es la posibilidad de ampliar las posibilidades con conectores para trabajar, por ejemplo con datos de OpenStreetMap. Unas cinco personas ninguna de ellas nuevas en el campo GIS participaron de este fantástico taller. Actualmente Carlos López
Quintanilla además, colabora con Softcatalà para poder disponer de una traducción al catalán del QGIS. Manolo Barcia, cuando se le preguntó sobre cómo había ido el taller respondía: «Muy bien, pero se me ha hecho corto!». Josep Gallart pudo hacer doblete gracias a su doble condición como miembro del Catalán LoCo Team (Ubuntaires) y como concejal de cultura del Ayuntamiento de Caldes de Montbui. Repartió unos cuantos CD de la última versión de Ubuntu (escritorio y servidor) entre los asistentes a la charla «Instalaciones alternativas y configuración avanzada de Ubuntu», junto con la Guía Ubuntu que es posible gracias a Miquel Adroer. Esta conferencia pretendía que el usuario básico dispusiera de las herramientas para atreverse a dar un paso más en el sistema operativo, y esta charla completaba la que en la edición anterior había hecho Walter García Fontes, de carácter más introductorio. Por su carácter divulgativo fue de especial interés la charladebate que se realizó sobre la «Migración al LibreOffice en el Ayuntamiento de Caldes de Montbui», y tan interesante como el debate fueron sus asistentes, muchos de ellos miembros de agrupaciones políticas locales como LPS (la Palma Sempre, actual gobierno de la Palma de Cervelló) el PSC, ERC, la CUP y el Procés Constituent. No sólo se habló del LibreOffice, sino también de los estándares y los formatos abiertos, conceptos muy importantes para los responsables de la administración. Javier Lahoz, representante del PSC la Palma, por ejemplo, destacaba la «ilusión y ganas de hacer cosas» que se respiraba en la jornada y mostraba su voluntad de participar en próximas ediciones.
www.blendercat.org
Uno de los atractivos de la jornada sin duda lo aportaron Oriol López, Guille Giménez y Víctor Vaquero con sus tricópteros (drones) de fabricación casera y en los que aplican montones de ciencia y de ingenio: auténticas obras de arte sobre una estructura de madera y con unas placas Arduino.
15
Blendercat 6ª 8ª Edición Revista Oficial Octubre 2013 2014 Se salió a la calle para hacerlos volar (qué estabilidad !!) y equipados con una cámara GoPro fueron grabando imágenes que luego procesaría Edgar Riba (miembro de la Konfraria) con la librería OpenCV para hacer una pequeña demostración de cómo programar para que fuera capaz de detectar las personas del vídeo. Edgar Riba este verano ha participado en el Google Summer of Code, trabajando precisamente para el proyecto OpenCV.
una migración a Lubuntu, en un ordenador antiguo y con pocas posibilidades.
La clausura de la jornada corrió a cargo de Martí Morta, con una charla sobre «ROS: Robótica y software libre». No sólo fue una charla muy didáctica y visual en la que se vieron vídeos de robots realizando cosas impresionantes, sino que además, realizó una demostración en vivo utilizando ROS (Robot Operating De manera transversal durante toda la tarde System), una cámara web y una placa se realizó una «Viquimaratón sobre la Arduino. Palma de Cervelló» organizada con la ayuda de Esther Ximénez (Biblioteca Mención especial merecen todos los que hicieron posible una cobertura Municipal de la Palma) y con la mediática del evento: colaboración de Alex Hinojo (Kippelboy). Marc Rodríguez (la Palma TV), Fue un espacio de trabajo desde donde Josep Balsas (fotografías), fueron ampliándose todos los contenidos Xavi Aranda (el TEB) y referentes a la página principal de la Palma Benny Beat (Softcatalà). de Cervelló, pero también de otras páginas relacionadas con la Palma de Cervelló. Una anécdota? Álex creó la página de Montse Pascual y Y llegados a este punto, sí, era el momento de descansar después de Vilapua, una de las personas que vino a participar en la Viquimaratón y una tarde tan intensa y productiva, desde las 16 h y hasta las 21 h ... Era que se consideró la reina de la escalada deportiva a finales de los años el momento de desplazarnos en el Cafè de l'Aliança para sentarse en la ochenta. mesa donde nos esperaban las tablas de embutidos y de quesos y Álex Hinojo resumía la jornada con estas palabras: «El DLP de la Palma acabar con una Cena de hermandad, eso si, continuando el debate es el ejemplo de que cuando hay una buena conexión con las sobre todo lo que rodea el software y la cultura libre. comunidades se pueden hacer actos interesantes sin grandes presupuestos. Ver al alcalde editando la wiki ya fue todo un ejemplo para Os animáis a venir a La Palma de Cervelló el año que viene? ;) decir cómo sois en la Palma ». También de manera simultánea y durante toda la tarde se dispuso de un espacio de instalación de sistemas GNU / Linux (Linux Install Party) y quien dinamizó este espacio fue Ferran López de la Pipa Plena (agrupación de usuarios GNU / Linux del Alt Empordà). Este año no participó tanta gente, pero se completó
www.blendercat.org
16
Blendercat 8ª Edición Revista Oficial Octubre 2014
Mi propio menú por Marçal Mora UN TÍTULO AMBICIOSO El objetivo de este artículo es minimizar el impacto con el módulo Script de Blender e intentar comprender por encima el uso de programación en este software 3D. Para ello, debes estar bastante familiarizado con Blender y su interfaz de usuario. Yo no tengo ninguna experiencia con Python pero para este ejemplo me inspiré en el taller de introducción a este módulo que impartió Jaume Castells profesor de la escuela Ihman 3D, en la Blendercat 8 edición. Yo no soy programador ni tu debes serlo, no tienes que ser un experto para ampliar Blender a tus necesidades. Es suficiente si entiendes algunos de los fundamentos de la programación orientada a objetos. En este breve artículo no voy a explicarlos, sólo muestro una parte de lo que aprendí de los trabajos que hicimos en el taller. Python viene con Blender, lo que no hay necesidad de instalarlo por separado y, de hecho, es una parte integral del programa. Debido a que la interfaz de usuario en sí, está escrito en Python y está diseñado para ser ampliado, es bastante sencillo aplicar tus propios complementos de menú a la interficie. COMO EJECUTAR EL SCRIPT En el text Editor encontrareis el botón RUN SCRIPT que os permitirá ir comprobando si vuestro código funciona como quereís. Recordad de salvar el archivo antes de ejecutarlo y sobretodo ponerle un nombre al script, inlcuyendo la extension .py
www.blendercat.org
AYUDAS VISUALES Al lado del botón teneis tres iconos que os pueden ayudar y mucho en el manejo y tecleo
de código pues os irá indicando por colores y número de linea qué y cómo lo interpreta python. Activando los tres podreis corregir muchos de los errores que evidentemente salen al teclearlo. Si deseas quitar el script solo tienes que clicar en el boton X para suprimirlo
17
Blendercat 8ª Edición Revista Oficial Octubre 2014 EMPEZEMOS Es un script de menos de 40 lineas al que Daros cuenta que bl_context="object". Este lo Vamos a cambiar la disposición de las vamos a modificar por partes lo que nos trae podríamos cambiar a otra pestaña si lo ventanas en Blender con el módulo borráramos y pusieramos World o Scene por por defecto. predeterminado del menu desplegable, nombrar 2 del resto de pestañas que hay en seleccionando Scripting. las Propiedades, poniendo nuestro panel en "object" pues se mostrará en la pestaña objeto, la que se muestra el icono de un cubo. A continuación nos encontramos con el bloque DRAW donde pondremos todos aquellos parámetros o botones que copiemos de los demás paneles. En nuestro caso, copiaremos el botón de color de la pestaña materiales, así que deberemos añadir al código en que pestaña o contexto encontrará dicha propiedad o botón. Veamos: El nombre de la classe lo cambiamos, En el menu del TextEditor seleccionamos class MiPrimerPanel(bpy.types.Panel): Templates (plantilla) y escogemos el último que pone UIPanel Simple. Renombramos el así como la descripción de para que sirve, archivo y guardamos una copia desde el indicado en el entrecomillado (triple). menú Text/ Save as. En este caso lo he llamado MiPropioPanel.py (escribir la extension ".py"). A su vez, cambiamos la etiqueta (label) y el idname, dejando el resto intacto. Import bpy class MiPrimerPanel(bpy.types.Panel): """Crea un Panel personalizado en la pestaña de propiedades del objeto""" bl_label = "Mi primer Panel" bl_idname = "OBJECT_miprimerpanel" bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "object"
www.blendercat.org
def draw(self, context): layout = self.layout obj = context.object mat = obj.active_material Una vez añadido el valor mat = obj.context.material seguimos el código de muestra, modificando sólo el texto que sale en inglés: row.label(text="Hello world!", icon='WORLD_DATA') Substituimos el "Hello world!" por "Mi panel personalizado!" y el icono del mundo por el icono del objeto con 'OBJECT_DATA'. Lo vemos: row.label(text="Mi panel personalizado!", icon='OBJECT_DATA')
18
Blendercat 8ª Edición Revista Oficial Octubre 2014 Hacemos lo mismo con el texto en inglés Es lo que más me gusta de Blender, siempre los habia visto allí pero no sabia cómo entrecomillado que encontramos más bajo, utlizarlos. El nombre entre comillas se os muestra row.label(text="Active object is: " cuando poneis el cursor por encima del botón, + obj.name) es el tip que os muestra el código, despues del punto os dá el nombre que teneis que lo cambiamos por: row.label(text="El objeto activo es: utilizar para invocar dicho botón. " + obj.name)
Finalmente y para que el script funcione debereis modificar el nombre de la classe de las últimas lineas del código escribiendo el mismo que habéis puesto al definirla al principio del script. Donde pone (HelloWorldPanel): def register(): bpy.utils.register_class(HelloWorldPanel)
Si quereis copiarlo al portapapeles para evitar Finalmente, y la parte que más nos interesa, errores al teclearlo de nuevo podeis con el botón derecho del ratón llamar al menú def unregister(): nos encontramos con este código: desplegable y escoger la opción Copy Data bpy.utils.unregister_class(HelloWorldPanel) Path como muestra la imagen. row.operator("mesh.primitive_cube_add") Este operador nos mostraría un botón, borramos esta linea de código para añadir nuestro propio botón.
Podeis cambiarlo por (MiPrimerPanel): def register(): bpy.utils.register_class(MiPrimerPanel)
row.prop(mat, "diffuse_color") Qué significa?. Añadimos la propiedad Difusse color del material del objeto activo, para que nos muestre su valor y poder modificarlo. IMPORTANTE: asigna un material antes para que funcione el script. Acordaros que casi al principio del script hemos definido la variable mat en una linea que ya hemos comentado antes, el mat = obj.context.material y luego en esta linea ponemos en el entrecomillado el nombre del botón del que queremos que aparezca en nuestro panel personalizado. De dónde conseguimos los nombres?
def unregister(): bpy.utils.unregister_class(MiPrimerPanel)
Luego haceis un Paste con el Boton derecho Si todo es correcto, salvar el script y dentro de las comillas en el script y ya ejecutarlo con el botón Run Script. Deberiais tendreís el nombre del campo. tener vuestro propio panel personalizado. Probad con las propiedades que mas useis, Si queremos añadir otro botón sólo teneis que seguro que vuestro panel os será muy útil. repetir este último código y cambiar el nombre entre comillas, si quereis añadir el specular, pues el código seria: row.prop(mat, "specular_color")
www.blendercat.org
19
A.Castilla
20