domingo, 19 de mayo de 2013

Blender Addon - Action Offset Update 1.1

Debía sacar de estado Alfa este trabajo, asi que me tomé unos minutos y lo terminé.
La nueva versión tiene algunos cambios que lo hacen mas simple e intuitivo.

La metodolodia es la siguiente:
- Vamos a establecer el órden de los objetos a animar. Teniendo esto presionamos "Set Order".
- Seguido a esto indicamos cual es el objeto que tiene el clip de animación y seteamos "Set Action Object".
Recordemos cual es el rango de la animación asi lo establecemos en la configuración.
- Con esto podemos elegir en un offset por Nla o por Constraints.
- Nla offset no tiene mucha dificultad para ser entendido mas que entender que este tipo de animación requiere un desplazamiento de compensación del objeto original a la posición originaria del objeto a recibir el clip.
- Constraint Offset necesita establecer los frames de diferencia entre objetos, esto se indica en la opción "Fade".
- Cuando creamos el Cns Offset se crea un empty llamado "..._Action_Driver", que es el responsable de la conducción del fluir de la animación.


Video Cns Offset:






domingo, 5 de mayo de 2013

Blender Addon - Constellation

Recibí un planteo de una alumna de como conseguir el efecto Constelación en Blender, ya que ella tenía un plugin para hacerlo en su programa propietario.

El resultado que obtenía era similiar a la siguiente imagen:


Se me ocurrió hacer unas lineas para cubrir este problema.
El addOn crea un objeto nuevo a partir de los vertices dentro del objeto seleccionado.
Cuenta con un slider para seleccionar la distancia máxima a la cual unirá los vértices.
Luego mediante extrude se puede darle cuerpo a estas lineas.




Video de ejemplo.




-----------------------------------------------

Script Extra para convertir MESH a CURVA: DESCARGAR

Blender Addon - Worn Edges - Bordes Desgastados.

Viendo los resultados que ofrece el script hecho por Chris Granados ( http://xiancg.com/wp/2010/12/script-for-maya-based-upon-worn-edges-from-neil-blevins/ ) realicé la versión para Blender.
En nuestro mundo los bordes están mas expuestos al desgaste que las superficies lisas, generalmente, y eso hace que se degraden mas rápidamente.
El addOn crea un mapa rápido de vertex color, que puede ser usado de varias maneras, por ejemplo para mezclar dos materiales, como displacement, etc...





Video Tutorial.


El addón se instala simplemente yendo a preferencias, addOns, install.
Van a encontrar la opción desde el search como "Worn Edges" o bien yendo al modo Vertex Paint > Paint > Worn Edges.

domingo, 7 de abril de 2013

[Render] - "Are you Hungry?"

Mi último trabajo, "Estás Hambriento?"
Sigo la temática relacionada con los alimentos.

Software: Blender




Behind the render:








sábado, 30 de marzo de 2013

Ilustración - "El rey de la Carne"







Titulo: "El rey de la Carne"
Técnica: SpeedPaint.
Soporte: Digital - MyPaint
Año: 2013

martes, 1 de enero de 2013

[App] - Blender Backup Cleaner

Estuve leyendo sobre interfaces Qt en linux y como relacionarlo con Python ya que necesito hacer mas usables algunos de mis scripts.
Hace tiempo hice unas lineas para buscar en subFolders los archivos .blend1 y .blend2 , y asi poder removerlos sin usar el search del Dolphin o en su defecto el Explorer.

El programa este permite especificar un folder y la extensión, por ejemplo "/home/miNombre" buscar la extensión ".blend1" o ".mp3", etc.
Cuando se aplica FILTER se crea una carpeta llamada "EXPORT" y los archivos se alojan ahi.

Interface:



El build es para Linux, y está compilado con cxfreeze.
Sientanse libres de usarlo, licencia GPL.

miércoles, 19 de diciembre de 2012

[Render] Grim Fandango - Manny Calavera

Mi último trabajo, la versión realista de Manuel Calavera del Grim Fandango.



Behind the render!






sábado, 15 de diciembre de 2012

[Blender Script] - Generador ID Color Mask

Hola a todos.
Bueno, estoy con muchísimo trabajo, y escribiendo muchísimo Python para el mismo.
Me encontré con que un retocador me pidió una mascara de ID en color, como en max. Como nativamente no encontré algo que lo saque automaticament hice un pequeño generador de un nodo que soluciona el problema.

Esto es re simple, pero creo que puede servir mucho.





"""
Seleccionar un objeto que tenga un nodo cycles y correr.
"""
import bpy
import random

ACTOBJ=bpy.context.active_object
ACTMAT=ACTOBJ.material_slots[bpy.context.object.active_material_index].material
NODE=ACTMAT.node_tree.nodes.new(type="VALTORGB", group=None)    

COLORS=30


CHUNK=1/COLORS
I=0
for ELEMENT in range(COLORS):
    NODE.color_ramp.interpolation="CONSTANT"
    ELEMENTO=NODE.color_ramp.elements.new(I)    
    ELEMENTO.color=(random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),1)
    I+=CHUNK

---------------------------------------



Si seleccionan un objeto que tenga en el slot de materiales activos un material de cycles, corriendo el script se generará automáticamente un nodo de ramp con muchos colores aleatoriamente.
Solo conecten este material a un emission a la salida y a un random object a la entrada.





Para hacer este proceso no destructivo yo uso el Oscurart Tools, y saco un pass.
Si dos colores quedan overlapeados pueden generan otro nodo para reemplazar.

miércoles, 21 de noviembre de 2012

Copy Indices - Blender Addon - Update to Blender 2.64


Muchas veces pasa que por transladar meshes de un soft a otro se pierden los índices de los vértices.
Gracias a esto cosas como shapes , uvs y otras propiedades dejan de funcionar correctamente.
Esta herramienta teniendo las dos mallas en casi exacta morfologia arma una malla nueva con la forma de nuestro objeto original pero con los indices del modificado.

Una muestra en imagen:




Video Demo:







----------------------------------------------
----------------------------------------------

sábado, 17 de noviembre de 2012

Compilar Blender en Ubuntu 12.10

Hoy es el turno de ver nuevamente como se compila Blender para la última versión del Ubuntu.

Actualmente la filosofía cambió por suerte, y los desarrolladores ya no nos brindan las librererias compuestas ni nos hacen compilar todo a nosotros. La nueva filosofía es un script que construye el entorno.

-Primero bajamos el encargado de sincronizar el source.
sudo apt-get install subversion
Con esto listo bajamos el source en una carpeta que no se mueva, en mi caso BLENDER-DEV
cd BLENDER-DEV.
svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender

-Si queremos instalar cuda para usar la tarjeta gráfica (opcional): - Bajamos el CUDA TOOLKIT para Ubuntu de http://developer.nvidia.com/cuda-toolkit-40
- Abrimos una terminal una vez bajado, y tipeamos:
sudo sh archivoCuda.run
- Cuando nos pregunte por el path a usar solo tocamos enter.
- Para versiones modernas de gcc (>4.5) debemos hacer lo siguiente, sinó no anda:
Del archivo /usr/local/cuda/include/host_config.h borrar la linea
#error -- unsupported GNU version! gcc 4.5 and up are not supported!
Bien, ahora vamos a buscar el script para generar el entorno, situado en:
BLENDER-DEV/blender/build_files/build_environment/install_deps.sh
Antes que nada hacemos una copia de esto en la carpeta raiz, asi lo podemos editar.
Abrimos el archivo con el gedit y:

Para Osl cambiar: BUILD_OSL=false por BUILD_OSL=true
Para tener los archivos comprimidos guardados: SRC="$HOME/src/blender-deps" por SRC="BLENDER-DEV/src/blender-deps"

Ahora si, abrimos terminal, arrastramos el sh dentro y corremos.
Vamos a ver como se recarga el source y empiezan a bajar millones de librerias.
Casi seguro cuando quiera compilar OSL va a tirar un error que no reconoce el llvm (dato aportado por SephirothTBM), entonces, para solventar esto nos vamos a /usr/lib/llvm y nos fijamos si tenemos la versión 3.0 o 3.1.
En mi caso al tener la versión 3.1 vuelvo al archivo install_deps.sh y nos fijamos que hay una sección llamada compile_OSL(), es la encargada de compilar esto, entonces, abajo vamos a ver algo asi:


 cmake_d="-D CMAKE_BUILD_TYPE=Release \
             -D CMAKE_INSTALL_PREFIX=$_inst
             -D BUILDSTATIC=ON \
             -D BUILD_TESTING=OFF"
A lo que le agregamos


 cmake_d="-D CMAKE_BUILD_TYPE=Release \
             -D CMAKE_INSTALL_PREFIX=$_inst
             -D BUILDSTATIC=ON \
             -D BUILD_TESTING=OFF
             -D LLVM_DIRECTORY=/usr/lib/llvm-3.0"

Guardamos y volvemos a correr el sh.
Si todo sale bien esto va a llegar al final y nos va a decir que si tenemos pensado usar cmake agregar unos flags, y lo mismo para scons. Los anotamos por ahi y seguimos.

Si queremos usar collada recordar instalar libxml2 versión dev!.

Ahora, vamos a tener dentro de BLENDER-DEV una carpeta con el source llamada blender. En el mismo nivel de "blender" hacemos una llamada "cmake" que va a ser nuestro taller.
Abrimos un terminal y hacemos lo siguiente:


cd 'BLENDER-DEV/cmake' && cmake ../blender  && make -j8 install


Esta es la compilación sin nada... pero si queremos empezar a sumarle complementos abrimos el texto que nos dió cuando terminamos de construir el entorno y hacemos una lista que quedaría algo como lo siguiente (en mi caso):


cd '/media/WORKS/BLENDER_BUILDS/BLENDER-DEV/cmake' && cmake ../blender -DWITH_CYCLES_CUDA_BINARIES:BOOL=ON -DWITH_FFTW3:BOOL=ON -DWITH_MOD_OCEANSIM:BOOL=ON -DPYTHON_NUMPY_PATH:FOLDERPATH="/usr/include/" -DWITH_OPENCOLLADA:BOOL=ON  -DPYTHON_VERSION:STRING="3.3" -DWITH_CODEC_FFMPEG=ON -DFFMPEG=/opt/lib/ffmpeg -DFFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;theoradec;theoraenc;theora;xvidcore;vpx;mp3lame;x264;openjpeg;schroedinger-1.0' -DCYCLES_OSL:PATH="/opt/lib/osl" -DWITH_CYCLES_OSL:BOOL=ON -DLLVM_DIRECTORY="/usr/lib/llvm-3.0" &&
make -j8 install


El Blender aparecerá dentro de cmake/bin.

Siempre recomiendo empezar por la compilación mas simple asi es mas sencillo encontrar errores.
















-DLLVM_DIRECTORY=/usr/lib/llvm-3.0