Está en la página 1de 4

Crear tu propio juego desde cero

Porqu unity?
Buena pregunta.Con un conjunto de diferentes herramientas , esta es una de las
muchas razones por las cuales eleg unity para seguir adelante:
-Es absolutamente gratis para juegos de PC/Mac o Web
-Unity es capaz de publicar para plataformas como Xbox , PS3,Android y
Iphone tambin.
-Unity utiliza "Javascript" y "C#" en conjunto con una gran cantidad de
funciones y accesos directos ya incluidos.
-Hay una gran comunidad para ayudar a los diseadores a responder las dudas ,
y muchas de ellas se solucionan con solo mirar "Google".
-Unity es completamente capaz de crear juegos tanto en 3D como en 2D ,
puedes crear un juego del tipo , puzzle , plataforma , FPS o Buceo (Entre todo
lo que imagines) y hacerlo sin una gran cantidad de conocimientos en
programacin.
Para aclarar un punto desde el principio:
Programar no es para todos, es frustrante y complicado casi siempre y muy
pocas personas son capaces de mantener o completar el proyecto por si mismos
, sin embargo si tu tienes el sueo de completar tu juego y te ves a ti mismo
avanzando , la felicidad al verlo ser estimulante.
Para simplificar , voy a comenzar con una lista de definiciones bsicas que te
ayudarn a familiarizarte con "Unity3D"
-GameObject: Todo y todos los objetos dentro del juego son GameObjects
Pueden ser muy simples o extremadamente complejos , visibles o invisibles ,
pero si existe en el juego es un GameObject.
-Transform: Esto incluye la informacion que compone un GameObject , sus
propiedades son: position (Posicin) , rotation (Rotacin) , scale (Escala) , los
transforms son muy importantes , hacen que programar sobre objetos sea
mucho mas facil.
-Scene: Ese es el nombre que se le da a un nivel en unity, "piensa que una
escena puede ser tu men principal , pantalla de seleccion de personaje,
pantalla de puntuacciones o todo lo que puedas hacer",un proyecto se puede
componer de una o mas escenas , eso depende de cada uno.

-Prefab: "Objetos Prefabricados" Es un GameObject especial con detalles


especificos , una vez que has creado un prefab , duplicarlo es sencillisimo , los
prefabs te ahorraran un monton de tiempo ya que es una manera rapida de
guardar las configuraciones de cada objeto.
-Variable: Una variable puede ser un monton de cosas: Un numero (float , int ,
double) , una letra o un texto(String) , un GameObject, un Transform, un
Color , una paleta de colores (Color32) ,etc.
A toda variable se le puede asignar un valor que ser almacenado en la
memoria.

Comenzando
Comenzando en unity por primera vez , podrs abrir proyectos de demostracion
que normalmente trae unity, Como bootcamp o AngryBots , Una vez abierto el
proyecto podrs utilizar el botn de play en la parte superior de la venana para
comenzar el juego, todo lo que muevas o cambies mientras el boton este
activado desaparecer al pulsar el boton de Stop.
Bien , comenzaremos con nuestro propio proyecto , pinchemos arriba a la
izquierda en File/New Proyect (Elegid la ruta que queras), podeis incluir
paquetes que ya trae unity , y que normalmente os ayudarn (sobretodo al
principio), marcas los que queras y comenzais.
En tu proyecto nuevo deberan aparecer las siguientes ventanas:
-Scene: En esta ventana es donde se edita nuestra escena los objetos apareceran
en la escena arrastrandolos a la escena desde la ventana proyect.
-Game: Esta ventana se activar cuando pulsemos el play , se ver lo que
actualmente hemos realizado en nuestra escena.
-Hierarchy: Todos los objetos en el juego aparecen aqui , desde aqui se pueden
seleccionar rapidamente usando el filtro por nombre.
Comprobamos que dentro del Hierarchy tenemos un objeto llamado
MainCamera , ese objeto es el que nos permitir ver en el juego , lo que vea la
camara , lo veremos nosotros.
-Proyect: En esta ventana , aparecern todas las carpetas , aqui podremos
manejar todo lo que vayamos a incluir en el proyecto, materiales ,scripts ,
texturas , modelos ,snimaciones,sonidos,etc.
-Inspector: Aqui se muestran todos los componentes del objeto seleccionado ,
en esta ventana es donde se le asignan y ajustan los scripts de cada objeto ,
todos los atributos.

Nuestro Primer Script


Vamos a comenzar a crear nuestro primer script y con el a crear una funcin
personalizada.
Comencemos por algo facil:
var objetivo : Transform;
function Update () {
transform.LookAt(objetivo);
}
Te parece complicado?, no te preocupes , vamos paso a paso;
Comenzaremos programando en javascript.
"var" indica una variable , "objetivo" es el nombre de dicha variable y
Transform es el tipo de variable, Este seria el orden "var nombre : Tipo;"
Es muy importante poner ";" al final de las rdenes para cerrar la linea ya que si
no , el script nos detectar un error indicandonos la linea que tiene un fallo en
la consola.
La funcion "Update ()" es una funcion integrada por unity , se ejecuta x frames
por segundo (Depende del Hardware del ordenador en el que se ejecuta)
transform.LookAt() provoca que el transform(perteneciente al objeto) , mire
con su eje z al objetivo sera algo asi
"x.LookAt(Objetivo);" donde x es el objeto que realiza la accion.
Nota: transform , si no va precedido de una variable objeto se refiere al
transform del objeto en el que este asignado el script.
-Base por frank (Ingls) , traducido y reescrito al castellano por Jesus Garcia
(Mcklem) , tambin se le han aadido ejemplos y ampliado algunos campos.

A continuacion os pongo una lista de pequeas


demostraciones que pueden serviros para comenzar

Lista De Ejemplos tiles:


Instanciar Objetos:
var ObjetoAInstanciar : GameObject;
function Update () {
if(Input.GetMouseButtonDown(0)){
var ObjetoInstanciado : GameObject = Instantiate(ObjetoAInstanciar,transform.position,transform.rotation);
}

}
Input.GetMouseButtonDown(X)//Esta linea permite que solo al pulsar el raton se ejecute una vez lo que tiene
en su interior , a diferencia del Input.GetMouseButton(X) que lo har continuamente.
Donde X puede ser 0 Boton izquierdo del ratn , 1 Boton derecho del raton , 2 Boton del centro del raton
y as sucesivamente, el resto de nmeros a partir del 3 no se suelen ajustar ya que no todos los ratones disponen
de ellos.
Una linea por debajo del Input.GetMouseButtonDown() tenemos la creacion de una variable , al crear la
variable dentro de la funcion , esta solo estar disponible dentro de dicha funcin , justo en el momento de
crearla , la estamos dando tipo GameObject , e inmediatamente le asignamos un objeto , esto es lo que crea el
objeto.
Instantiate(ObjetoAInstanciar,Posicion,Rotacion);
Nosotros estamos haciendo que tome la posicion y rotacion del objeto al que esta asignado el script escribiendo
transform.position y transform.rotation.

Para ver videotutoriales click en http://www.youtube.com/user/mcklem


Para mas informacin click en http://mcklemgames.com/

Mcklemgames.com

Todos los derechos reservados

También podría gustarte