viernes, 9 de agosto de 2013

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);

}

3 comentarios:

  1. La parte 5 se corta y no sale como poner las animaciones

    ResponderEliminar
  2. de hecho :/, y la siguiente parte ya estan activadas

    ResponderEliminar
  3. no sale todo el vido, por fa la parte 5 y creo que la 3 no salen completas, resubelo porfa amigo, esta muy interesante, muchas gracias por compartir, y felicitaciones

    ResponderEliminar