Posts tagged ‘blender’

Cáceres 3D. Recta Final.

Nos queda ya poco para entregar los trabajos que estamos haciendo en el marco de los trabajos de DIGITALIZACIÓN EN TRES DIMENSIONES DEL CONJUNTO HISTÓRICO DE LA CIUDAD DE CÁCERES”.

Vamos a enseñar unos vídeos de algunos de los productos que van a resultar de este trabajo.

El primer vídeo es el modelo 3D, por el que se podía caminar libremente desde el prototipo, ahora además podemos volar, se ha programando que manejando determinadas teclas la vista se levante o se bajo dando sensación de vuelo, esto nos da la oportunidad de ver la ciudad con perspectivas nuevas. El modelo todavía no está completo, pero el resultado nos gusta mucho.

Además del modelo en 3D , estamos levantando con un Laser Scanner gran parte de los edificios de la ciudad monumental. El resultado de cada uno de estos levantamientos se puede ver en los siguientes vídeos. Se ha desarrollado un visualizador de nubes de puntos hecho en Java 3D que nos permite ver los edificios una vez montados, coloreados  y procesados. El resultado es: (Estos edificios son de los primeros, los resultados ahora son mejores pero estos vídeos sirven para hacerse una idea de los resultados de la técnica).

Y un ejemplo más, para ver la potencialidad de esta técnica, vamos a poner una prueba hecha sin color en la plaza mayor de cáceres, son 3 tomas a mínima resolución del scanner a las que el único proceso que se ha hecho ha sido unirlas unas junto a otras. El trabajo de campo requerido para obtener esto fue de unos 45 minutos aproximadamente.

Anuncios

noviembre 6, 2008 at 12:58 pm 2 comentarios

Automatización de la generación de avatares isométricos en Blender

De la realización del proyecto Gente Guada para la Junta de Andalucía hacemos referencia al fichero que se utilizará para la generación automática de avatares.

Avatar ExampleEste fichero desarrollado en Blender 2.44, hace uso de un script en python que retorna los renders con los diferentes ángulos de visión desde los que podrá ser observado el personaje dentro del juego. A su vez, y mediante el uso de parámetros, en la llamada al fichero avatar.blend mediante consola de comandos, podemos personalizar características tales como: el color de la piel, el tamaño de la cabeza, el color del pantalón… así como también, si queremos llevar manga corta o larga.

Las ampliaciones más próximas para este fichero son la incorporación de esqueletos, para la generación de las imágenes de las diferentes acciones que pueden realizar los personajes en Gente Guada.

abril 15, 2008 at 4:39 pm Deja un comentario

Pruebas de la baraja española 3D para el videojuego Ceibo

El videouego Ceibo sigue avanzando, estas son las primeras prubas de la baraja española libre en 3D que próximamente estará disponible .

Se han modelado en Blender y bueno, estos son la sota de copas y la de bastos.

copas.png

bastos.png

Un avance del juego se puede ver en (A veces está caido y a veces son versiones antiguas) : CEIBO

Más sobre el desarrollo del juego y el framework SWT en el blog de ceibo: BLOG DE CEIBO

febrero 22, 2008 at 11:39 am Deja un comentario

Creación de gráficos isométricos

En el mundo de los videojuegos existe una gran variedad de representaciones gráficas posibles, con variaciones importantes en cuanto a profundidad, grado de realismo, etc. Una de las más utilizadas desde los comienzos, tanto por la facilidad para su creación como por las proporciones de lo representado, es la perspectiva isométrica. Esta perspectiva situa la cámara del juego, o la vista del jugador, en un eje imaginario a 30 grados del suelo y enfocando el objetivo situado en el centro de los ejes de coordenadas (0,0,0 para un sistema tridimensional tí­pico) y representa los objetos con la misma proporción y tamaño, independientemente de la distancia a la que se encuentren del espectador. Este tipo de vista limita la sensación de profundidad, pero permite que el espectador aprecie todos los detalles de los modelos y se encuentre con un entorno mucho más simple, más asequible a la hora de jugar.

Isometrica

En varios de nuestros proyectos hemos decidido emplear este tipo de gráficos con un enfoque diferente: gráficos 2D generados a partir de objetos en 3D. Para ello, nos hemos servido del editor 3D Blender y de varios modelos ya creados en 3D.

En primer lugar, tras cargar el objeto del que queremos obtener los gráficos, indicamos a Blender el tipo de vista que queremos emplear. Para ello seleccionamos la cámara, y en el panel de edición (F9) activamos la opción “Ortographic”. Ahora, a fin de facilitar los cálculos de coordenadas y rotaciones, es aconsejable situar el modelo en el origen de coordenadas (0,0,0), y la cámara en un ángulo que permita visualizarlo (60,0,-45) y en una posición adecuada (por ejemplo (-5,-5,4.14), aunque estas coordenadas pueden necesitar ser cambiadas). Para acceder a la ventana de coordenadas y rotación de la cámara, la seleccionamos y pulsamos “N”.

Blender_iso_01

A fin de cuadrar el modelo en la captura de pantalla y reducir en lo posible el trabajo de edición, seleccionamos la escala a la que se mostrará el modelo. En el mismo panel de edición (F9), modificamos el valor de “Scale” hasta obtener el tamaño apropiado. Después, en el panel “Rendering” ajustamos los parámetros de la renderización de la imagen. Entre ellos, tamaño de la imagen (a ser posible, seleccionar el tamaño final del sprite para evitar tareas posteriores de redimensionado), tipo de imagen (PNG, JPG, BMP, etc), o directorio donde se almacenarán los resultados de las renderizaciones (por defecto, en “/temp”).

Una vez hecho esto, seguiremos siempre el mismo procedimiento para generar los gráficos. En primer lugar, situamos el modelo a fotografiar en el ángulo deseado mediante rotaciones en el eje Z (para un sistema isométrico con gráficos en 8 direcciones, lo situaremos en los valores de Z = 0,45,90,135,180,225,270,315). Tras situarlo en cada una de estas posiciones, realizamos una renderización (F12) y después almacenamos el gráfico creado (F3). En el caso de querer hacer un gif animado con varios movimientos del objeto, y suponiendo que este incluya un esqueleto con una serie de animaciones ya creadas, renderizamos mediante CTRL+F12 para obtener todos los frames del movimiento. Al finalizar, abrimos el primero de los frames con un editor de imágenes como GIMP (recordemos que, si no lo hemos modificado, las imagenes resultantes de las renderizaciones se almacenan en “/temp”), y arrastramos el resto de imágenes que compongan la animación a la imagen abierta del primer frame, de forma que cada una de las imágenes siguientes se situe como una capa nueva en la imagen.

Blender_iso_02

Después, seleccionamos la opción “Guardar como” para la imagen con todas sus capas, y en la ventana del explorador de archivos seleccionamos extensión .gif. En el panel siguiente seleccionamos “Guardar como animación”, y en el siguiente seleccionamos “Un cuadro por capa (reemplazar)”. Tras esto, GIMP realizará los cálculos necesarios y creará un gif animado 2D en base a un modelo 3D.

nina_walking

Bujaco

tMoctezuma

febrero 7, 2008 at 1:05 pm 2 comentarios

Primeros Vídeos de EXTREMAVENTURA

Estos vídeos son los primeros que vamos renderizando, concretamente son de la pantalla 1 en Cueva de Maltravieso. Como el resto del videojuego están modelados, animados y renderizados con Blender.
Nos encontramos en la última fase del desarrollo del proyecto

Todo el material relacionado con este proyecto está en http://forjamari.linex.org/projects/extremaventura/

Espero que os gusten.




enero 20, 2008 at 9:11 am Deja un comentario

Efecto Niebla en Blender Game Engine

Uno de los mayores problemas que hemos encontrado a la hora de diseñar los distintos escenarios para el proyecto Extreventura reside en la profundidad de los escenarios exteriores. Esto es, el hecho de representar el infinito en las escenas que se desarrollan en el exterior. Así, encontramos distintas soluciones a dicho problema: la más simple de todas, crear un plano gigante y literalmente plasmar una foto de lo que pretendíamos que fuera el horizonte. Por otro lado, crear un horizonte de montaña, interponer objetos de forma disimulada para que el horizonte no se pudiera contemplar claramente, crear una niebla que nos oculte lo que existe más lejano que la distancia deseada… Esta última solución es que la que se explica en este documento. No conviene abusar de ella, porque resultaría bastante cargante y repetitivo, pero para algunas escenas exteriores, montañosas, laderas de río, realmente es una solución efectiva. Todo esto, claro está, si se usa un engine que no cuente con mejores soluciones. Por otro lado, si se desea también se puede modelar el horizonte, pero es una carga bastante innecesaria.

captura2.jpgCaptura 1

Como podemos ver en esta primera fotografía, existen dos efectos en esta fotografía. Primeramente, existe una niebla bastante densa grisácea, que nos impide ver correctamente la torre del fondo. Esta niebla, como podemos ver en la siguiente fotografia, se crea de una manera muy sencilla.

howto3.jpgCaptura 2

Activaremos el botón Mist, para que la niebla se procese. Los siguiente tres botones especifican la forma en la que queremos que la niebla se degrade cuando nos vamos alejando de ella. El valor Sta define donde queremos que comience la niebla, y el valor Di la distancia que debe de procesarse. Esto es, que los objetos que estén más lejos de Sta+Di no se van a ver. El valor Hi sirve para especificar como queremos que la niebla vaya desapareciendo con la altura. El valor Misi especifica la intensidad de la niebla. De esta manera ya tendremos el efecto de la niebla que podemos ver en la fotografía superior.

El efecto de cúmulos de humo que podemos ver en la foto es algo más complicado. Se explica a continuación de forma básica para no extendernos excesivamente. Quizás en otro post lo expliquemos de forma más detallada y sus posibles usos. En primer lugar, debemos crear en una capa que no sea la principal varios planos, en nuestro caso 2, con una textura semi-transparente que vaya a simular la textura del humo. Podemos verlas en la foto.

howto2.jpgCaptura 3

Como podemos ver, los dos planos humo1 y humo2 tienen la misma textura uv asociada, con los correspondientes botones Alpha activados. Esto es para que la textura muestre su transparencia.

howto4.jpgCaptura 4

Estos planos, humo1 y humo2, tienen asociados unos Logic Bricks que hará que se muevan en la dirección que nosotros queramos. En nuestro caso, hacia -Y. Para ello, asociamos unos sensores Always a unos Motion con el movimiento predefinido. Recordar que se debe activar la repetición de señal positiva en los sensores para que se repita el movimiento infinitamente. Esto hará que cuando se creen las partículas de humo, éstas se muevan en la dirección deseada.

A continuación, creamos un empty en la escena principal con unas curvas ipo asociadas que harán que el empty se mueva como nosotros queramos, para ir creando la niebla en los sitios que nosotros queramos. Este empty, de forma pseudo-aletoria va creando planos exactamente iguales a los que tenemos en la capa 2. Los planos creados están situados exactamente en la posición en la que actualmente se encuentra el empty, de ahí que tengamos las curvas ipo asociadas al empty, para que la posición en la que crea los planos no sea siempre exactamente la misma.

howto1.jpgCaptura 5

Como podemos ver en la captura adjunta, el empty tiene asociado varios Logic Bricks: por un lado, un sensor Always con un Actuator IPO que hará que la curva ipo de movimiento se ejecute infinitamente. Además, tiene asociados dos sensores Random unidos a dos Actuator Edit Object que hará que se creen partículas de humo continuamente. Los parámetros de los distintos sensores y actuator se pueden consultar en cualquier manual de Blender. Los más importantes en este caso son los valores Seed del sensor Random, que es la semilla de aleatoriedad, y el Valor Time en el Actuator Edit Object que será el tiempo de vida del objeto creado. Tened en cuenta que si se ponen tiempos de vida excesivamente grandes van a existir muchos objetos a la vez que afectarán al rendimiento de la escena.

El segundo efecto explicado es algo complicado conseguir efectos curiosos para la creación de niebla, aunque puede servir para otros muchos como puede ser humo de casas, humo de fuego, incluso fuego cambiando de manera adecuada las texturas de los planos, y tened en cuenta que aportan dinamismo a las escenas, paseos virtuales, que es algo muy importante para dar algo de vida a vuestras creaciones.

enero 8, 2008 at 12:54 am 3 comentarios


Entradas recientes

Blog Stats

  • 69,242 hits

Top Clicks

  • Ninguna