viernes, 9 de agosto de 2013

Haciendo un juego Pre-renderizado

Bueno, como muchos de ustedes soy amante de Resident Evil (Los juegos, no tanto luego del 4), y crecí de la mano del PS One, que usaba mucho esta técnica, en juegos como Chrono, Final Fantasy, Resident Evil, Dino Crisis y muchos otros, así que me decidí a hacer un juego con este estilo por mi mismo.

Usando Unity 4 y Blender 2.67b logre hacer este demo en pocas horas:

El proceso de crear las imagenes en Blender es sencillo (perdonen la calidad de las imagenes, pero no soy modelador y ademas es solo un demo)


Para lograr esto, se deben situar las cámaras en diferentes posiciones, de acuerdo a como queramos

Clases de creación de videojuegos en unity

Parte 1:

Lo primero que se debe hacer es contar con el diseño del personaje, en este caso usare uno descargado de Internet (Personaje de little big planet!).

Luego es necesario crear la malla, es decir el personaje en 3D.

Comandos Básicos:

Tab: cambiar entre modo objeto y modo de edición
Ctrl+Espacio: agranda la vista en la que nos encontramos
G: agarrar *
S: escalar *
R: rotar *
E: extrude

*estas teclas se pueden combinar con X, Y, Z para limitarlas a un eje especifico:

R+Y: rota solo en el eje Y


Parte 2:

Para texturizar un personaje, se le puede dar color, pero la mejor opción, es usar una textura que podrá incluir muchos mas detalles.

A: Seleccionar todo
En modo de edición Ctrl+Tab para cambiar el modo de seleccion
U: para que aparezca el menú de unwrap

Parte 3:

Para poder mover partes especificas del personaje, es necesario que un hueso soporte esta parte del cuerpo, así que se debe crear un esqueleto para el personaje.


Parte 4:

El juego no es divertido si tu personaje no se mueve, así que hay que mover el esqueleto!

I: despliega el menú para guardar la pose actual.


Parte 5:

Teniendo el personaje listo es hora de programar nuestro juego, para esto usando Unity 3D (descargar) unimos el personaje, las texturas, animación y la lógica del juego en un solo lugar, y comenzamos a programar lo que sera nuestro juego terminado.


Script básico de Movimiento:

var velocidad : float = 6.0;

var salto : float = 8.0;

var gravedad : float = 20.0;



private var moveDirection : Vector3 = Vector3.zero;



function Update() {



    var controller : CharacterController = GetComponent(CharacterController);

   

    if (controller.isGrounded) { //Revisa si estamos sobre el piso

       

        moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,Input.GetAxis("Vertical"));

        moveDirection = transform.TransformDirection(moveDirection);

        moveDirection *= velocidad;

       

        if (Input.GetButton ("Jump")) {

            moveDirection.y = salto;

        }

       

    }



    // Apply gravity

    moveDirection.y -= gravedad * Time.deltaTime;

   

    // Move the controller

    controller.Move(moveDirection * Time.deltaTime);

}

martes, 6 de agosto de 2013

Guardar y Cargar datos en Unity 3D

Hola Amigos, he estado un poco ausente, pero he estado muy atento a sus comentarios, es por esto que les traigo un nuevo vídeo, esta vez en respuesta a timacuas.

En este vídeo se muestra como guardar datos en unity utilizando la clase PlayerPrefbs que es el método mas sencillo.



Para guardar existen tres funciones:
- SetInt( string llave, int dato)
- SetFloat( string llave, float dato)
- SetString( string llave, string dato)

lunes, 5 de agosto de 2013

Crear librerias android para unity

Uno de los temas que más dificulta me causó, no por su nivel de dificultad, sino por la poca documentación. Y falta de ejemplos, es la creación de plugins o librerías de Android que nos permitan usar funcionalidades extra desde unity.

En mi caso personal quería utilizar Admob y Google DFP dentro de mi aplicación para lo cual debía usar la librería de Admob que viene empaquetada en un. Jar