Cómo - Creación de juegos 3d en blender (y algunas dudas).

Imagen de Morpheus 0
0 puntos

Introducción

Este minitutorial explica lo básico sobre la creación de juegos usando blender 2.45 (instalable desde synaptic en ubuntu 8.04).

Requisitos

La primera y segunda parte del siguiente tutorial:

http://www.ubuntu-es.org/index.php?q=node/16591

Herramientas:

La Guia Blender: http://personal.oreto.inf-cr.uclm.es/cgonzalez/descargas/animacion04/adi...

La Guía Rápida de Blender 3d - En el capítulo o ficha VII (pág 34 a 37) explica la creación de juegos con blender, pero pueden servirte todos los capítulos para crear juegos con blender, ese capítulo está resumido en este tema.

En este caso el juego que haremos consta de:

* Un personaje (la esfera),
* el suelo,
* y además tres objetos (tres cubos),


Primera parte: Crear los actores y el ambiente:

I.- Crea los otros dos cubos, la esfera y el suelo.

A.- Crea una esfera en el centro (o en cualquier lugar): Tecla espaciodora, Add, mesh, uvsphere.

B.- Ahora crea los dos cubos restantes cubos a los lados:

Tecla espaciadora, Add, mesh, cubo (creas dos cubos, o se copia el primero y pega dos veces).

C.- El suelo es un plano que crearemos: Tecla 7 (para tener vista aérea), espaciadora, add, mesh, plane.

Para esto se debe estar en modo objeto.Si no aparece la opción mesh es que blender está en edit mode, cambiar a object mode.

Haremos mas grande el suelo seleccionandolo, presionando la tecla s y luego moviendo el mouse.

Si al crear los cubos o la esfera quedaron abajo del plano, solo seleccionalos con el botón derecho del ratón, tecla g y los mueves arriba del suelo, los objetos irán donde se mueva el ratón.

Tambien debes saber lo siguiente:

La flecha roja que aparece al seleccionar el objeto es el eje x.

La flecha verde es el eje y.

La flecha azul es el eje z (hacia arriba y abajo).

Otra forma de mover los objetos es click izquierdo a cualquiera de las tres flechas y mover el ratón en la dirección en que se quiera mover al objeto, el objeto seguirá esa dirección mientras el ratón se mueve.

II.- Renombrar a cada objeto.

Cuando crean un nuevo objeto pueden ver abajo el panel link and materials, donde dice ME:nombre, F: OB: nombre.

Cambiaremos el nombre ob de cada objeto (deben estar en object mode), los llamaremos ahora así:

esfera (Dice sphere, borrar y escribir esfera).
cubo1 (Dice Cube, llamarlo cubo1)
cubo2,
cubo3,
El suelo (Dice plane, llamarlo suelo).
camara (Camera por camara).


Segunda parte: Activar las reglas físicas del juego.

III.- Cambiando el panel inferior.

Ahora presiona la tecla f4 del teclado (panel),
Abajo aparecerá un panel diferente,
Selecciona la esfera en el area de trabajo, L
Luego en el panel cliqueas el botón actor.

Cuando cliqueas actor, aparece al lado el botón dynamic, cliquealo tambien, ahora verás unos 9 botones más.

Notas:

* Al activar la opción Dynamic, el objeto queda sujeto por las reglas físicas del gameBlender.

* Si ponemos en marcha el gameEngine (el juego, por decir algo) pulsando P sobre la ventana3D izquierda, verás que la esfera cae sobre el plano (suelo) y botará varias veces (bastantes veces) hasta quedar inerte. Para salir pulsa Esc.


Tercera parte: Controlando los actores, los objetos y la física del juego.

V.- Controlando la esfera (asignando las teclas del teclado para controlarla):

Siempre en el panel logic (f4), puedes ver tres opciones más:

Sensores,
Controladores,
Acturadores,

Están en una casilla blanca, y cada uno tiene las opciones sel, act, link.

Acá es donde se hace el trabajo de la creación del juego (para cada actor).

Al seleccionar con click derecho (en modo objeto) un objeto (o actor), puedes ver que abajo de las opciones sensores, controladores, actuadores aparece el nombre del objeto (ejm: camara).

Una metáfora para cada uno de ellos puede ser la siguiente:

Los sensores representan una forma de vida determinada;

los controladores, el cerebro

y, finalmente, los actores representan el sistema muscular.

" Para añadir un sensor, un actuador, o un controlador solo click en add.

Por ejemplo: Click al botón add en actuators (para añadir un actuador).

Antes de continuar debes saber los siguiente: En la opción motion en los actuadores verás 4 columnas, la primera que corresponde a motion, y otras 3 columnas:

- La primera se refiere al eje y (verde en el objeto),
- La segunda al eje x (roja en el objeto),
- La tercera al eje z (salto).

En la columna motion tienes varias opciones como: Force, Torque, etc.

Las 3 columnas tienen valor 0.00, pero se puede cambiar a valores positivos o negativos para cambiar las propiedades del actuador.

En este caso el actuador es de tipo motion, pero clickea motion y verás que el actuador puede ser sonido, mensaje, cámara, etc.


Acá es donde empieza el trabajo:

Primero selecciona la esfera, para esto debes estar en modo objeto.

A.- Presiona add tanto en la opción de sensores, actuadores y controladores para que en cada uno se cree un logicbrick o bloque lógico (nuevas opciones).

* En la opción sensor es donde asignas la tecla a usar,

* En la opción actuador es donde escoges que acción se realizará al presionar una tecla.

* Cuando tecleas un sensor, este pasa la información al controlador (cerebro), y del cerebro se controla el acto o movimiento del actor.

B.- En sensores cliquea donde dice allways y escoges keyboard (teclado), apareceran nuevas opciones (para asignar la función de cada tecla).

C.- A Asignar las teclas: En las nuevas opciones en sensores haremos lo siguiente:

Click en el campo "key" (el cuadro gris al lado de key),
Aparece "presiona cualquier tecla",
En este caso presionas el cursor derecha o rightarrow (la flecha hacia la derecha en el teclado).

En este caso queremos que al presionar esa tecla la esfera vaya a la derecha (hasta ahora solo asignamos la tecla).

D.- A lograr que la esfera se mueva usando la fuerza en el menú actuadores:

Debemos asignar a la función "flecha a la derecha" una acción, esto se hace desde el menú motion, porque queremos que al presionar el cursor derecho (función), la esfera se mueva a la derecha (acción) es decir, hacia adelante.

Recordemos las direcciones en blender: Al seleccionar un objeto puedes ver tres flechas en el objeto: la roja (eje x), la verde (eje y) y la azul (eje z). Si presionas click (izquierdo) en una de las flechas del objeto verás que el objeto se mueve en esa dirección.

Si te fijas tambien, el centro de blender es 0, si mueves el objeto a un lado de la linea roja el eje x va tomando valores positivo, si lo mueves al otro lado de la linea toma valors negativos (lo mismo pasa con los ejes "z" y "y"). Si no puedes ver las tres flechas de colores en el objeto puedes presionar f9, o tambienpuedes presionar Ctr-espaciadora y luego escoges translate.

Queremos que el objeto se mueva a la derecha, desde el punto de vista del jugador (la cámara), para eso presiona el número cero en las teclas numerales del teclado. así puedes saber la dirección a la que irá el objeto, ya que quieres que al presionar click derecho el objeto se mueva a la derecha.

Actuadores:

En este paso lo único que debes saber es que en motion verás cuatro columnas,

En la primer columna que tipo de acción se realizará: Fuerza, torque, etc.

En las siguientes tres columnas aplicas la intensidad en los ejes x, y y z.

"En este caso unicamente usaremos fuerza o force en el eje y (la primer columna, está al lado de force), le daremos un valor de 10", para esto doble click a esa celda, borrar los 0 y escribir 10.00.

E.- Paso final: Enlazando los bloques lógicos:

Al lado de sensores, actuadores y controles verás puntos amarillos (uno en sensores, dos al lado de controladores, y uno al lado de actuadores), para unirlos cliqueas un punto amarillo, mantienes presionado click y arrastras hasta el otro punto amarillo.

* Presionas click en el punto amarillo en sensores, manten presionado click y llevas al punto amarillo en controladores.

* Presionas click en el otro punto amarillos en controladores y llevas al punto amarillo en acutadores.

Nota: Puedes borrar la linea de vínculo colocando el cursor del ratón sobre la linea y tecleas x.

F.- Presionas la tecla p (o game, start game). y el juego iniciará.

Ahora teclea el cursor a la derecha en el teclado y verás que la esfera se mueve, solo sirve esa tecla porque solo esa tecla asignamos, mantenla presionada, cuando pase del borde del suelo caerá infinitamente al vacio, game over. Presiona esc para salir del juego. P para volver a jugar.

Importante:

* Si no activastes la opción dynamic en todos los objetos, estos no seguirán las leyes del juego, los objetos no tendrán peso, si están en el aire quedarán flotando..

* Recuerda que en el suelo no debe estar activada la opción dynamic, porque caeria hacia abajo.

* Debes darle un color al suelo y otro color a los objetos, de lo contrario todo se verá blanco.

Experiencias en el juego:

* Al ir hacia la derecha, si te encuentras un cubo puedes moverlo (empujarlo) hacia la derecha.

* Si vas mucho hacia la derecha y te sales del plano (suelo), caerás al vacio.

De la misma forma puedes hacer que el objeto se mueva a la izquierda, hacia adelante, atrás, etc. Repitiendo estos pasos para: La derecha, arriba, a los lados, etc.


Modificando las propiedades de los cubos y el suelo:

Estando en modo objeto seleccionas un cubo (o el suelo), f4, add en sensores, actuadores y controladores, puedes asignarles teclas si quieres.

Puedes controlar: Visibilidad, movimientos, audio, etc.

Fin del tutorial!


Extra 1: Asignar mas teclas.

Mayor control de la esfera:

La esfera ya puede moverse hacia el lado, ahora usaremos la tecla "q" para girar levemente a un lado, y tecla "w" para girar levemente hacia el lado opuesto.

Supón que la esfera es un auto, con la flecha derecha avanzas, y usas la tecla q giras levemente a un lado y con la tecla w giras levemente al otro lado (esta vez en lugar de usar force se usa torque).

El paso es igual que anterior la diferencia es:

Downarrow (flecha hacia abajo): En torque se escribe 1.00 en eje y:

* Añadir un segundo sensor (add), tambien un segundo controlador (add) y un segundo actuador (add).
* En el actuador en la opción torque escoger 1 en eje y.
* Luego unir sensor, controlador y actuador.

Uparrow (flecha hacia arriba): Torque se escribe -1.00 en eje y:

* Añadir un sensor (add), un controlador (add) y un actuador (add).
* En el actuador en la opción torque escoger - 1 en eje y.
* Luego unir sensor, controlador y actuador.

En el juego presiona un momento tecla a la derecha, suelta la tecla a la derecha y ahora presiona q o w y verás como gira hacia ese lado (aunque si no se presiona la tecla a la derecha irá directamente a ese lado).

Acá puedes ver que es molesto estar viendo muchos sensores y actuadores, ya que ocupan mucho espacio, en la parte superior a la derecha puedes ver una flecha anaranjada, click en ella y el sensor o actuador se esconde y aparece una flecha blanca, click en la flecha blanca y vuelve a desplegarse el sensor. Esto se utiliza para cuando hay muchos sensores y actuadores.

Asignar teclas para las 4 direcciones, este, oeste, norte y sur.

Si quieres controlar hacia los cuatro lados la esfera, asigna a las cuatro flechas del teclado "force 10" en el eje que le corresponde, ya tienes asignada la tecla "flecha derecha".

* "Flecha Derecha", es la primer columna: Force 10.00 Esta ya está asignada.

* "Flecha Izquieda"
Creas un sensor, un actuador y un controlador,
Asignas la tecla "flecha a la izquierda"
Force -10 en la primer columna.
Luego los unes.

* Mover la esfera hacia un lado:
Creas un sensor, un actuador y un controlador,
Asignas la tecla "flecha arriba"
En la segunda columna: Force 10.00 (la primer columna queda en 0.00 y la tercera también 0.00)
Luego los unes.

* Mover la esfera hacia el otro lado:
Creas un sensor, un actuador y un controlador,
Asignas la tecla "flecha abajo"
En la segunda columna: Force -50.00 (la primer columna queda en 0.00 y la tercera también 0.00)
Luego los unes.

Notas:

* Derecha o izquierda no depende de la posición donde esté la cámara (el punto de vista).

* Al seleccionar un objeto (en modo objeto), puedes ver tres flechas, la roja apunta al eje x, la verde al eje y, y la azul al eje z (vertical). Así que en animación 3d no se habla de derecha o izquierda (depende del punto de vista), se habla de eje x, eje y, o eje z (con valores negativos, cero y valores positivos).


Extra 2: Como hacer saltar a la esfera:

Salto: Acá activaremos una tecla para que el actor salte al presionar esa tecla.

* Selecciona la esfera (en modo objeto), f4.

* En sensores, agrega un sensor (add): Cambia allways a keyboard, agrega como tecla clave la tecla A (o la que quieras).

* En actuadores, agrega un actuador (add): En force cambias el valor de la tercer columna (eje z, es la altura, en este caso el salto) de 0 a 100.

* Agrega un controlador (de movimiento, motion), y conectas el sensor recien creado al nuevo controlador, y este controlador al nuevo actuador.

Controlar cuando se puede saltar:

Acá Haremos que la esfera salte solo cuando toque el suelo o algun cubo de la escena.

* Selecciona la esfera, Agrega un nuevo sensor, cambia allways a "touch", listo, sensor creado.

* Agregas un nuevo actuador, force a 100 en la tercer columna.

* En este caso conectaremos el sensor al controlador del salto, y ese controlador al nuevo actuador. El controlador de salto tendrá cuatro conexiones. Es decir, en nuevo sensor y el nuevo actuador se conectarán al conntrolador creado anteriormente (el de salto).

Fuente: Página 36.


Extra 3: Haciendo invisible al actor:

* Selecciona la esfera, f4.

* En sensores, agrega un sensor (add): Cambia allways a keyboard, agrega como tecla clave la tecla i (o la que quieras).

* En actuadores, agrega un actuador (add): Cambia motion a visibility, y luego cambias visible a invisible.

* Agrega un controlador, y conectas el sensor recien creado al nuevo controlador, y este controlador al nuevo actuador.

Para comprobar, presiona p (para activar el juego), teclea i, y verás que desaparece el actor, si mueves el actor a la derecha verás que puede empujar el cubo que está al lado (si mueves la esfera hacia el cubo).

Ahora el actor es invisible, asigna otra tecla de visibilidad para que puedas volver al actor en forma visible.

Es todo, se agradece cualquier corrección.


Si te interesó, investiga sobre:

* Blender Game Engine:
http://kalans.wordpress.com/2007/08/03/introduccion-al-game-engine-de-bl...
http://blendergameengine.iespana.es/

* Blender Game Kit: http://nodoy1.net/wiki/index.php/Blender_gamekit_en_castellano

Dudas:

1.- Cómo se pueden crear 3 vidas para el personaje, y que luego reinicie el juego? (y menús).

2.- Cómo se logra que un actor rebote al tocar otro objeto? (no me refiero al suelo).

3.- Segun puedo observar la calidad de los juegos hechos con blender permiten crear juegos con calidad similar a la de los juegos para xbox y playstation. Cómo se crean juegos para las consolas de video desde blender?

Si no se puede pues mejor, los juegos se quedan en linux.

4.- Cómo se crean juegos con blender sin que se requiera tener instalado blender para jugarlos?

Pueden hacer consultas en: http://www.canguro3d.com/public/

Imagen de Festor
+1
0
-1

Te agradecería mucho que colaboraras con tus conocimientos en el wiki de ubuntu-es

http://doc.ubuntu-es.org/Portada

De esta forma evitaras que este post se pierda entre los centenares de post de ubuntu-es

****-------------------****

****-------------------*

+1
0
-1
Imagen de Morpheus 0
+1
0
-1

Ya lo agregué a la documentación

http://doc.ubuntu-es.org/Creaci%C3%B3n_de_juegos_con_blender

Nota: Cuando hay un error o duda y no se maneja bien blender, es mejor crear un juego nuevo con solo un actor y el suelo, agregar una sola tecla por ejemplo A, un sensor, un controlador y un actuador. Luego a ese actuador cambiar la propiedad force, luego presionar P (en modo objeto) y ver como funciona la tecla, después cambiar force (por ejemplo) en cualquier eje.

Primer columna: Eje x (color rojo).

Segunda columna: Eje y (color verde)

Tercer columna: Eje z (color azul).

Después esc, dejar nuevamente en 0 al eje que ya revisamos para modificar el actuador de esa tecla, luego 10, 100.00, -10.00 o -100.00 en el mismo eje o en otro eje.

Es un pequeño juego, ya si se quiere hacer algo mas avanzado, hay que conocer mejor blender y trabajar de verdad ya que el tutorial anterior no tarda ni 5 minutos.

Pd. El torque (torsión en español) es una fuerza aplicada para hacer rotar un objeto.

Por ejemplo al aplicar torque 5 al eje y (verde, la segunda columna), el objeto girará en dirección x, rodando el objeto siempre en base a su centro en el eje y.

Si se aplica torque -5 a la segunda columna, este girará en siempre dirección pero en sentido contrario.

+1
0
-1
Imagen de Morpheus 0
+1
0
-1

Juegos para blender

1.- Tiko: El Maestro (creado por maléfico):

Me recuerda a zelda o a mario 64, tiene misiles de magia, camina hacia enfrente, puede girar a los lados, cuerpo humanoide.

La barra de sangre indica cuanto te queda de vida, si te matan se cierra el juego.

Puedes levitar.

Barra de magia.

Descarga del juego: http://www.malefico3d.org/gameblends/Tiko-0.2.zip

Descarga: http://www.malefico3d.org/principal.html

Lo descomprimes, luego lo abres con blender y a jugar.

2.- Kart (Crado por fisicomolon):

Descarga: http://www.foro3d.com/attachments/f113/70984d1208324270-mi-juego-de-kart...

Fuente: http://www.foro3d.com/f113/mi-juego-de-karts-demo-jugable-60197.html

http://www.niel3d.com/niel2/modules/newbb/viewtopic.php?topic_id=2542&vi...

+1
0
-1