From the category archives:

3D

Trabajando con huesos en Blender

by Jorge Machin on February 27, 2010 · 0 comments

in 3D, Blender

Los huesos en Blender nos ayudan a poner en distintas posiciones a nuestros modelos en animaciones o en videojuegos. El proceso en Blender es algo laborioso debido a la gran versatilidad de lo que es capaz de hacer este programa. Aquí pongo mi apunte de una técnica comunmente usada para agregar una armadura a una malla.


Una mano artículada

Agregando la Armadura

El primer paso para manejar huesos es crear una armadura. En el modo de objetos:

- Presionar la barra espaciadora sobre la ventana de vista 3D.

- Seleccionar Add->Armature

Esto nos creará la armadura con un hueso con el cual podemos empezar nuestro trabajo. En el modo de objetos, con el botón de editar (F9) activado nos presentará además un panel "Armature" en la ventana de botones. En este panel podemos establecer varias configuraciones útiles como mostrar los nombres de los huesos o que estos se vean siempre (usando el botón X-Ray).

Agregando huesos

Existen varias formas:

a) Seleccionar la parte final del hueso y extruir con la tecla e.

b) Seleccionar un hueso o grupo de huesos y aplicarles una subdivisión.

Emparentando los huesos a la armadura

Para emparentar los huesos a la armadura es necesario indicarle a Blender que vertices son afectados por la acción de cada hueso. Para ello se necesita crear grupos de vértices para cada hueso. Para facilitar el manejo de los grupos de vértices es conveniente nombrar antes los huesos adecuadamente.

Para que Blender nos cree automáticamente todos los grupos de vertices se hace el siguiente procedimiento en el modo de objetos:

- Seleccionamos la maya y después los huesos.

- Presionamos Ctrl+P.

- Se selecciona Armature.

- Luego Name Groups.

En el modo de edición, seleccionamos los nodos que sean influenciados por cada hueso y se los asignamos al grupo de vertices correspondientes en el panel "Link & Materials".

Una vez terminados todos los grupos de vertices, es posible manejar los huesos en el modo de pose que se puede acceder cuando se selecciona la armadura en el modo de objetos.

{ 0 comments }

Preguntas frecuentes de Blender

by Jorge Machin on February 24, 2010 · 0 comments

in 3D, Blender

En este post ire poniendo a forma de preguntas algunas de las tecnicas que son comunes en blender. Al principio aparecerán pocas preguntas, pero con el paso del tiempo seguramente habrá una lista bastante buena.

¿Dónde se encuentran los scripts de python?

En vista:

C:/Users/Mi_Usuario/AppData/Roaming/Blender Foundation/Blender/.blender/scripts

¿Cómo hacer que la escala y la rotación sean definitivos en un objeto?

En el modo objeto, presionar Ctrl-A.

¿Cómo poner una imagén en el fondo para poder usarla de base?

En cualquier modo, en la ventana de 3D view seleccionar del menú: View->Background image.

¿Cómo hacer reflejos?

En el modo de objetos, en el botón de material, en el panel de Mirror transformations, habilitar el botón de Ray Mirror y ajustar Ray Mir al nivel de reflejos deseado.

¿Cómo se cambia el color de fondo?

Se puede cambiar en cualquier modo en el panel de world que aparece al habilitar el botón shading (F5) y luego world.

¿Cómo grabo una imagen renderizada?

Presionando F3 en la ventana de renderización.

{ 0 comments }

Trabajando con vértices en Blender

by Jorge Machin on January 25, 2010 · 0 comments

in 3D, Blender

En estos últimos días he tenido la oportunidad de trabajar con Blender, por lo que pongo mi acordeón de los pasos que hay que seguir en actividades comúnes con vértices.

carrito
Una pequeña cama con forma de carro

Cabe la aclaración de que muchos de los procedimientos son válidos de igual forma para líneas y caras.

Agregar vértices

En el modo de Edición:

- Presionar la tecla control y sin soltar, presionar el botón izquierdo del ratón en el lugar donde se desea colocar el nuevo vértice.

Nota: Si selecciona previamente algún vertice, el nuevo vertice estará unido al seleccionado por una línea.

Agregar vértices a una línea

En el modo de Edición:

- Seleccionar la línea que se desea dividir o sus dos vértices.
- Presionar la tecla w.
- Seleccionar la opción subdividir.

Unir vertices con una línea

En el modo de Edición:

- Seleccionar los dos vértices a unir.
- Presionar tecla F.

Alinear vértices

En el modo de Edición:

- Seleccionar los vertices a alinear.
- Presionar la tecla S ( escalar ).
- Presionar X, Y o Z del eje al cual se quieren alinear los vertices.
- Presionar 0.
- Presionar la tecla enter o el botón izquierdo del ratón.

Ver coordenadas

En el modo de Edición:

- Seleccionar el nodo
- Presionar tecla N
- Seleccionar "Global" para ver las coordenadas mundiales.

Convertir vértices a caras

En el modo de Edición:

- Seleccionar los vertices
- Presionar shift-F

Notas:

- Para que funcione, la figura debe de estar cerrada.

- Si se desea poner una mejor configuración de tríangulos, presionar Alt-F

Colocar el cursor en un vértice

En el modo de edición:

- Seleccionar el vertice.
- presionar Shift-S.
- Seleccionar Cursor->Selection.

Duplicar

En el modo de Edición:

- Seleccionar los vértices.
- Presionar la tecla D.
- Mover a donde se desean colocar.

Extruir

En el modo de Edición:

- Seleccionar los vértices.
- Presionar la tecla e.
- Mover en la dirección a donde se quiere extruir, o presionar X, Y o Z para indicar una dirección paralela a alguno de los ejes.

Scripts

Un script que realmente es muy útil para trabajar con vértices de forma precisa se llama Lengthen y se puede encontrar en Blender Architect junto con un video tutorial.

Tutorial en video:

Un excelente tutorial en video se encuentra en:

http://www.youtube.com/watch?v=icDsC1c_B6M

{ 0 comments }

Constructor de Mundos

by Jorge Machin on September 21, 2009 · 0 comments

in 3D, Personal

Este es un video que me apena decir que fui el último en verlo entre mis compañeros de trabajo y aunque no es mi costumbre poner videos de otras personas en mi blog, vale la pena hacer la excepción.

{ 0 comments }

Cuando era niño, programaba juegos en mi compú donde todo vivía en un mundo de dos dimensiones. No estaba tan mal porque las gráficas en ese entonces eran muy sencillas. De hecho, una nave espacial solía ser un aburrido cuadro rojo. Sin embargo, conforme fuí aprendiendo física, me fue necesario construir un mundo tridimensional, no sólo para hacer juegos, sino también para hacer mis cálculos y simulaciones.

Antes de consultar libros sobre el tema, intenté resolver el problema por mi cuenta. Yo lo visualizaba como convertir un espacio 3D (el mundo) a un espacio 2D (la pantalla). La manera más sencilla que se me ocurrió fue simplemente proyectar todos los puntos a una pared imaginaria en frente de mí. Las proyecciones podían ser de forma recta ignorando simplemente el eje Z; pero así no es muy atractivo porque no se crea la sensación de perspectiva. Es mejor proyectar con un ángulo imaginando que es el ángulo de visión del ojo. Mi primera representación (aplanada) fue esta:


Diagrama 1

Nuestro observador esta en el origen y mirando hacia Z, P es el punto que queremos proyectar, X es el punto proyectado y d es la distancia a nuestra pantalla imaginaria.

Ahora, ni modo, a hacer álgebra. Por triángulos semejantes tenemos:

frac { X_p } { sqrt { d^2 + {X_p}^2} } = frac { P_x } { sqrt { {P_x}^2 + {P_z}^2}

Haciendo un lado los pasos engorosos, despejamos Xp:

X_p = frac { P_x} { P_z } d

Por analogía, encontramos Yp:

Y_p = frac { P_y} { P_z } d

De las dos ecuaciones anteriores, es fácil deducir que d es matemáticamente un factor de escala y que al usar estas ecuaciones, los objetos se ven más grandes conforme se acercan al observador y reducen su tamaño al alejarse; sin importar si nuestros puntos se encuentran antes o después del punto d.

Pero no hemos terminado; nuestra pantalla hasta ahora esta en "coordenadas mundiales" las cuales no tienen porque concordar con las coordenadas de nuestra pantalla. De hecho, las coordenadas de nuestra pantalla son siempre positivas y el origen esta en la esquina superior izquierda. Es necesario hacer la transformación de coordenadas mundiales a coordenadas de la pantalla.


Diagrama 2

Con un poco de observación, se puede encontrar el factor de conversión para el eje x:

S_x = S_{xmin} + ( S_{xmax} - S{xmin} ) frac { X_p - W_L} { W_R - W_L }

En la mayoría de los casos se puede suponer para Sxmin un valor de cero:

S_x = S_{xmax}  frac { X_p - W_L} { W_R - W_L }

Si queremos manejar la pantalla mostrando 4 cuadrantes, entonces W_R = -W_L:

S_x = S_{xmax}  frac { X_p + W_L} { 2 W_R }

De forma similar para el caso del eje y:

S_y = S_{ymin} + ( S_{ymax} - S{ymin} ) frac { W_T - Y_P} { W_T - W_B }

De igual forma, se puede suponer para Symin un valor de cero:

S_y = S_{ymax} frac { W_T - Y_P} { W_T - W_B }

Para acomodar en cuatro cuadrantes, W_B = -W_T:

S_y = S_{ymax} frac { W_T - Y_P} { 2 W_T }

Conclusiones:

Ya con esto podemos armar una ciudad de casas de cerrillos con fórmulas con operaciones muy sencillas. Incluso corren relativamente rápido en las antigüas máquinas de 8 bits:


Aplicando las formulas en una computadora de 0.895 MHz

Las fórmulas presentadas aquí son muy limitadas, pero demuestran lo fácil que puede ser trabajar la tercera dimensión. En posts posteriores se trabajarán más para quitar las restricciones autoimpuestas como que el plano de proyección este únicamente perpendicular el eje Z y que el centro de proyección se encuentre únicamente en el origen.

{ 0 comments }