#1 Inicio del proyecto. [Laberinto en primera persona]

Información actualizada sobre esta entrada

Este artícu­lo pertenece a una serie que con­siste en hac­er un juego sim­ple en primera per­sona acer­ca de encon­trar obje­tos den­tro de un laber­in­to. Es una de mis primeras series de cuan­do empecé el canal, aho­ra he mejo­ra­do mucho este proyec­to y puedes descar­gar el códi­go fuente para impor­tar­lo en tu pro­pio proyec­to de Uni­ty. Algún día vamos a hac­er un remake de esta serie, suscrí­bete a mi canal para estar al tan­to del nue­vo con­tenido sobre Blender, Uni­ty y pro­gra­mación.

Sígueme en itch.io y descarga el código fuente de este proyecto

PUEDES TESTEAR ESTE JUEGO AQUÍ. TAL VEZ TARDE UN POCO EN CARGAR
🔻

MOVEMENT: WASD CAMERA LOOK: MOUSE

Introducción al artículo original

Este es el comien­zo de la serie del Laber­in­to, en la que creare­mos un pro­totipo sim­ple de juego en primera per­sona en el que el esce­nario será un laber­in­to, mien­tras vamos vien­do todas las her­ramien­tas con las que cuen­ta Uni­ty para crear juegos.

Esta serie es ide­al para aque­l­los que no tienen expe­ri­en­cia con Uni­ty ya que se mues­tra de todo un poco y sin entrar en detalles, el propósi­to es mas bien obser­var todo el pro­ce­so de desar­rol­lo para ten­er una idea general.

Página principal del proyecto

Vídeo relacionado a este artículo


Creación del proyecto

Al eje­cu­tar Uni­ty o Uni­ty HUB, nos aparece una ven­tana en la que podemos crear nuevos proyec­tos, abrir­los y acced­er a los tutoriales. 

Vamos a crear un nue­vo proyec­to 3D, le damos un nom­bre y elegi­mos una ubi­cación en el dis­co. Todo lo demás es opcional. Cuan­do todo esté lis­to creamos el proyecto

Le damos un nom­bre y selec­cionamos el tem­plate 3D. 

Ventana de inicio de Unity. Crear o cargar un proyecto.
Fig. 1: Ven­tana de ini­cio de Uni­ty. Crear o car­gar un proyecto.

Lo primero que vamos a hac­er es crear una nue­va esce­na. En esta ver­sión de Uni­ty, por defec­to se nos crea la esce­na "SampleScene.unity", como se obser­va en la cabecera del pro­gra­ma en la figu­ra 2. 

Para crear una nue­va esce­na hace­mos clic en File > Save Scene As…

Menu file de unity3d
Fig. 2: Para guardar una nue­va esce­na vamos a File > Save Scene As…

Le damos un nom­bre y la guardamos. Al hac­er­lo se obser­va en la cabecera el nom­bre de la nue­va escena.

unity 3d ventana emergente para guardar una escena.
Fig. 3 Ven­tana emer­gente para guardar la escena.

Cada esce­na tiene su pro­pio dis­eño inde­pen­di­ente de las demás. Por ejem­p­lo podemos usar una esce­na para el menú prin­ci­pal y otra para el juego. 

Todo va a depen­der de cómo quer­amos estruc­turar el juego.

Creación de carpetas

Es impor­tante estable­cer un sis­tema de orga­ni­zación para los archivos de nue­stro juego en Uni­ty des­de el comien­zo, porque a medi­da que avan­zamos vamos cre­an­do más Scripts, impor­tan­do más archivos y las cosas se des­or­de­nan fácilmente.

Todos los archivos del proyec­to se encuen­tran en la ven­tana "Project", den­tro de una car­pe­ta que se lla­ma "Assets". Esta car­pe­ta se puede encon­trar en el direc­to­rio que defin­i­mos para el proyecto.

programa unity3d menu para crear una nueva carpeta. crear una nueva carpeta en unity.
Fig. 4: Crear una nue­va car­pe­ta para el proyecto. 

Como se obser­va en la figu­ra 4, al hac­er clic dere­cho se despl­ie­ga un menú con dis­tin­tas opciones, vamos a la opción "Cre­ate" y elegi­mos "Fold­er".

Creamos tan­tas car­petas como sea nece­sario para orga­ni­zarnos, esta parte es personal, 

Importar paquetes

Para empezar a hac­er un juego en Uni­ty no es nece­sario crear todo des­de cero, podemos valer­nos de las libr­erías exis­tentes para comen­zar a tra­ba­jar en una idea. A con­tin­uación vamos a impor­tar Uni­ty Pack­ages (paque­tes de Uni­ty) de la libr­ería Stan­dard Assets y de la Asset Store.

Standard Assets — Unity

En la ver­sión de Uni­ty que tenía al momen­to de grabar el video, se podía impor­tar los paque­tes de Stan­dard Assets, una libr­ería que ofrece Uni­ty que cuen­ta con dis­tin­tos pre­fab­ri­ca­dos, efec­tos y scripts que resul­tan útiles al empezar.

Hacien­do clic dere­cho en la car­pe­ta ten­emos la opción "Import Pack­age" donde podemos ele­gir un paque­te que teng­amos descar­ga­do usan­do la opción "Cus­tom Pack­age" o podemos ele­gir algún paque­te de Stan­dard Assets. 

Si no les apare­cen todos los paque­tes como se ve en la figu­ra 5, tienen la opción de descar­gar­los de Asset Store, pero deben ten­er una cuen­ta en Uni­ty para poder hac­er­lo. Más ade­lante hablam­os de eso.

programa unity3d menu para importar paquetes de la libreria standard assets.
Fig. 5: Impor­tar paque­tes de la libr­ería Stan­dard Assets.

En este caso voy a impor­tar de Stan­dard Assets los paque­tes "Char­ac­ters", "Par­ti­cleSys­tems" y "Util­i­ty".

Con el paque­te "Char­ac­ters" podremos colo­car en el esce­nario un pre­fab­ri­ca­do que tiene imple­men­ta­do un con­trol en primera persona.

Par­ti­cleSys­tems trae algunos efec­tos intere­santes para uti­lizar, como fuego y humo.

Util­i­ty trae algunos scripts útiles como un con­ta­dor de frames por segun­do (fps).

Asset Store — Unity

La tien­da vir­tu­al de Uni­ty con­tiene una infinidad de Assets, algunos de pago y otros gratuitos.

Para acced­er a la tien­da uti­lizamos la pes­taña Asset Store de Uni­ty, si no se encuen­tra abier­ta, vamos a Win­dows > Asset Store o usamos el acce­so direc­to Ctrl+9. Como se obser­va en la figu­ra 6.

programa unity3d, ventana windows, está seleccionada la opción asset store.
Fig. 6: Abrir la tien­da de Assets des­de la ven­tana Window.

Para uti­lizar la tien­da debe­mos ini­ciar sesión en nues­tra cuen­ta (podemos hac­er­lo des­de Uni­ty). Luego uti­lizan­do la pan­talla de ini­cio o la bar­ra de búsque­da podemos explo­rar el contenido.

Con el propósi­to de ver cómo se usa Asset Store vamos a descar­gar dos paque­tes. El primero se lla­ma "Sky­Box" y el segun­do "Fast­Mo­bile­Bloom", usamos la bar­ra de búsque­da para encon­trar­los, en las fig­uras 7 y 8 se obser­van las miniat­uras de los paquetes.

miniatura del paquete skybox de la tienda asset store de unity3d. se observa un cielo de atardecer.
Fig. 7: Paque­te Sky­box de la tien­da de assets.

miniatura del paquete fastmobilebloom de la tienda asset store de unity3d. se observa una ventana y un cartel de neón azul que dice hotel.
Fig. 8: Paque­te Fast­Mo­bile­Bloom de la tien­da de assets.

Para agre­gar­los a nue­stro proyec­to entramos en el paque­te y ponemos "Descar­gar", al finalizar la descar­ga nos aparece la opción "Impor­tar".

unity3d proceso de descarga de la tienda asset store.
Fig. 9: Al entrar en un paque­te podemos descar­gar­lo e impor­tar­lo, leer comen­tar­ios y más.

Jerarquía del proyecto

Den­tro de cada esce­na estarán definidos todos los ele­men­tos del juego, es decir un esce­nario, obje­tos que for­man parte del mun­do, obje­tos invis­i­bles que sir­ven para la lóg­i­ca del juego, inter­faz grá­fi­ca, etc. Todos estos ele­men­tos son cono­ci­dos como GameOb­jects y estarán lis­ta­dos en la jer­ar­quía de nue­stro proyecto. 

Como se obser­va en la figu­ra 10, al crear una nue­va esce­na, ten­emos dos GameOb­jects que vienen por defec­to. Una cámara y una luz direccional.

unity 3d jerarquía de una escena. dos gameobjects.
Fig. 10: Jer­ar­quía del proyec­to. Por defec­to ten­emos una cámara y una luz direccional.

Vamos a elim­i­nar la cámara y empezar a agre­gar obje­tos al escenario.

Hacien­do clic dere­cho en la jer­ar­quía ten­emos la opción de agre­gar dis­tin­tos GameOb­jects, por ejem­p­lo obje­tos vacíos, prim­i­ti­vas, luces, etc.

unity 3d jerarquía de una escena. creacion de primitivas. creacion de nuevos gameobjects.
Fig. 11: Hacien­do clic dere­cho en la jer­ar­quía podemos crear nuevos objetos.

Voy a armar un esce­nario sim­ple con un plano para el sue­lo y algunos cubos y cilindros.

programa unity 3d se observa una escena con un plano.
Fig. 12: Plano crea­do des­de la jer­ar­quía.

A medi­da que vamos agre­gan­do más obje­tos al esce­nario la jer­ar­quía va cre­cien­do. Tam­bién es recomend­able ten­er una bue­na orga­ni­zación des­de el prin­ci­pio, colo­can­do nom­bres apropi­a­dos y usan­do Emp­ty GameOb­jects para agru­par los objetos.

programa unity3d se observa una escena con un plano, un cubo y dos cilindros.
Fig. 13: Agre­gan­do obje­tos al mundo.

Obser­ven las fig­uras 14 y 15. En la primera se ve que ambos cilin­dros están con­tenidos por el cubo, ya que están lig­era­mente más a la derecha y el cubo tiene una flecha para desple­gar y colap­sar el con­tenido. En la figu­ra 15 en cam­bio se obser­va que están al mis­mo niv­el por así decirlo.

unity 3d jerarquía de una escena. relacion de parentesco entre los gameobjects.
Fig. 14: El cubo es el padre de los cilindros.

unity 3d jerarquía de una escena. relacion de parentesco entre los gameobjects.
Fig. 15: El cubo y los cilin­dros están al mis­mo niv­el jerárquico. 

Esto rep­re­sen­ta la relación de par­entesco que existe entre los GameOb­jects. En la figu­ra 14 se dice que el cubo es el GameOb­ject padre y ambos cilin­dros son hijos. Esto impli­ca que los cilin­dros van a estar afec­ta­dos por cier­tos cam­bios que se apliquen al padre. Por ejem­p­lo si desac­ti­va­mos el cubo, ambos cilin­dros tam­bién se desactivarán. 

Lo mis­mo ocurre con la com­po­nente trans­for­ma­ción por ejem­p­lo. La posi­ción de los cilin­dros se mide respec­to de su padre, por lo tan­to si move­mos al padre, los cilin­dros se mueven en conjunto.

Materiales

Para aplicar col­ores y tex­turas sobre los obje­tos del mun­do se uti­lizan los mate­ri­ales. Vamos a crear algunos para ver cómo fun­cio­nan. Clic dere­cho en algu­na car­pe­ta del proyec­to luego Cre­ate > Mate­r­i­al, como se obser­va en la figu­ra 16.

programa unity 3d, proceso de creacion de nuevos materiales. shaders.
Fig. 16: Pro­ce­so de creación de materiales.

El mate­r­i­al se visu­al­iza como una esfera en donde están apli­cadas las propiedades del mate­r­i­al debe­mos asig­narle un nom­bre, como siem­pre man­ten­er el orden des­de el primer momen­to nos ben­e­fi­cia a largo plazo.

programa unity 3d, iconos de materiales.
Fig. 17: Visu­al­ización de los mate­ri­ales en la ven­tana del proyecto.

Los mate­ri­ales tienen var­ios parámet­ros que lo definen, en nue­stro caso sim­ple­mente vamos a mod­i­ficar el col­or hacien­do clic en el recuadro a la derecha de "Albe­do". Al hac­er­lo aparece una pale­ta de col­ores donde podemos ele­gir el col­or o escribir su códi­go hexadecimal.

programa unity 3d, visualizacion de las propiedades de un material en el inspector.
Fig. 18: Visu­al­ización de las propiedades de los mate­ri­ales en el inspector.

Para aplicar un mate­r­i­al sim­ple­mente lo arras­tramos sobre el obje­to deseado.

programa unity3d se observa una escena con un plano, un cubo y dos cilindros. El plano está pintado de marrón.
Fig. 19: Se ha apli­ca­do un mate­r­i­al al plano.

Iluminación

Vamos a selec­cionar la luz direc­cional des­de la jer­ar­quía o en la ven­tana escena.

programa unity3d se observa una escena con un plano, un cubo y dos cilindros. El plano está pintado color marrón, hay dos cilindros azules, uno rojo y un cubo rojo, Además una fuente de luz direccional.
Fig. 20: Se ha apli­ca­do mate­ri­ales a todos los obje­tos de la escena.

Por luz direc­cional se entiende una fuente de luz como el sol, es decir situ­a­da en el infini­to y que envía todos sus rayos para­le­los. Por esta razón mover la fuente o hac­er­la más grande no afec­ta a la ilu­mi­nación de la esce­na, pero cam­biar la rotación si lo hace. Lo vemos en la direc­ción de las sombras.

programa unity3d se observa una escena con un plano, un cubo y dos cilindros. El plano está pintado color marrón, hay dos cilindros azules, uno rojo y un cubo rojo, Además una fuente de luz direccional.
Fig. 21: Rotación de la luz direc­cional, las som­bras se proyectan en otra direc­ción si com­para­mos con la figu­ra 20.

Crear una escalera con primitivas

Vamos a hac­er este pequeño ejer­ci­cio para ver los ele­men­tos de la bar­ra de her­ramien­tas que tiene Uni­ty, en par­tic­u­lar las her­ramien­tas que nos per­mi­tirán mod­i­ficar la com­po­nente Trans­form de los GameOb­jects. Comen­zamos cre­an­do un cubo en la jerarquía.

programa unity3d barra de herramientas.
Fig. 22: Bar­ra de her­ramien­tas bási­cas de Unity.

Las her­ramien­tas mover, rotar y escalar se obser­van en la figu­ra 22 en las posi­ciones 2, 3 y 4 respec­ti­va­mente y se acce­den ráp­i­da­mente usan­do las teclas "W", "E" y "R" (respec­ti­va­mente).

Si apre­ta­mos la tecla R tenien­do selec­ciona­do el cubo, podremos escalar­lo uti­lizan­do el "Giz­mo" de los tres ejes, como se obser­va en la figu­ra 23.

programa unity3d, escalar un cubo en una direccion.
Fig. 23: Escalamien­to de un GameOb­ject en una dirección.

Lo escalam­os en dos direc­ciones para dar­le la apari­en­cia de un escalón.

programa unity3d, escalar un cubo en una direccion.

Fig. 24: Escalamien­to de un GameOb­ject en una direc­ción.

Le apli­camos un mate­r­i­al y con la tecla W podemos ubicar el escalón en el escenario.

programa unity3d, escalar un cubo en una direccion y moverlo en la escena.
Fig. 25: Posi­cionamien­to del obje­to en la escena.

Podemos duplicar fácil­mente el obje­to uti­lizan­do el acce­so direc­to CTRL+D y con la tecla W ele­var­lo un poco y desplazar­lo hacia atrás.

programa unity3d, duplicar un gameobject y desplazarlo.
Fig. 26: Dupli­cación de un GameObject. 

Podemos repe­tir este pro­ce­so con var­ios escalones seleccionados.

programa unity3d, duplicar un conjunto de gameobjects y desplazarlos.
Fig. 27: Dupli­cación de un con­jun­to de GameObjects.

Vamos a crear un Emp­ty GameOb­ject y lla­mar­lo "Esce­nario".

unity 3d jerarquía de una escena. creación de empty gameobjects para organizar.
Fig. 28: Creación de un Emp­ty GameOb­ject para orga­ni­zar elementos.

unity 3d jerarquía de una escena. creación de empty gameobjects para organizar.
Fig. 29: Al Emp­ty GameOb­ject se le da el nom­bre Escenario.

Luego selec­cionamos todos los obje­tos y los arras­trá­mos hacia este nue­vo obje­to para agru­par­los. De esta for­ma podemos colap­sar todo el con­tenido y la jer­ar­quía se ve más orde­na­da, como se obser­va en la figu­ra 30.

unity 3d jerarquía de una escena. creación de empty gameobjects para organizar.
Fig. 30: Todos los GameOb­jects del esce­nario se arras­tran den­tro del Emp­ty GameOb­ject y se colap­sa el contenido.

Controlador de primera persona

La razón por la que pre­vi­a­mente elim­i­namos la cámara es porque vamos a colo­car en la esce­na el pre­fab­ri­ca­do "FPSCon­troller" de Stan­dard Assets y este ya trae una cámara incor­po­ra­da. Este pre­fab se encuen­tra en el direc­to­rio Stan­dard Assets > Char­ac­ters > First­Per­son­Char­ac­ter > Prefabs.

programa unity. prefabricado de un control primera persona.
Fig. 31: Pre­fab FPSCon­troller del paque­te Char­ac­ters de Stan­dard Assets.

Lo lle­va­mos a la esce­na y lo aco­modamos donde nos guste.

programa unity3d. se observa una escena con suelo marrón, una escalera azul, dos cilindros rojos y dos cilindros azules.
Fig. 32: Se colo­ca el pre­fab FPSCon­troller en la escena.

Bugs

Ya esta­mos en condi­ciones de hac­er algu­nas prue­bas, en la parte supe­ri­or al cen­tro ten­emos tres botones. 

El botón Play se uti­liza para empezar a cor­rer el juego. El segun­do botón pausa el juego pero no lo final­iza. El ter­cer botón sirve para avan­zar un sólo frame en el juego.

Al pul­sar el botón Play aparece un car­tel de error que dice que todos los errores deben arregllarse antes de poder entrar en el modo juego.

programa unity3d. se observa una escena con suelo marrón, una escalera azul, dos cilindros rojos y dos cilindros azules. En el centro un cartel que dice: "All compiler errors have to be fixed before you can enter playmode".
Fig. 33: Al inten­tar entrar en el modo juego aparece un car­tel de error.

Este es un prob­le­ma con el que nos vamos a encon­trar muy segui­do, espe­cial­mente al prin­ci­pio y suele ser muy frus­trante, más aún si esta­mos apren­di­en­do a programar.

Para obten­er infor­ma­ción sobre lo que está pasan­do ten­emos la ven­tana "Con­sole". Si no se encuen­tra abier­ta, la encon­tramos en el menú "Win­dow".

programa unity3d, consola de unity mostrando advertencias en amarillo.
Fig. 34: En la con­so­la se obser­van varias adver­ten­cias con un car­tel amarillo.

En la figu­ra 34 obser­va­mos una gran can­ti­dad de adver­ten­cias pero esto no afec­ta el fun­cionamien­to del juego, son sug­eren­cias para opti­mizar el códi­go, adver­ten­cias por uso de códi­go obso­le­to y demás. Si sólo tuviése­mos adver­ten­cias podríamos entrar en el modo juego sin problema.

La figu­ra 35 es una cap­tura luego de hac­er clic en el botón "Clear", esto limpia las adver­ten­cias y deja ver los errores que no se pueden pasar por alto para poder entrar en el modo juego. Estos se mues­tran con un car­tel Rojo.

programa unity3d, consola de unity mostrando errores en rojo.
Fig. 35: En la con­so­la se obser­va un men­saje de error con un car­tel rojo.

No hay mucha infor­ma­ción sobre el error pero nos bas­ta para enten­der que hay un archi­vo que no se encuen­tra. Si obser­va­mos la direc­ción vemos que está rela­ciona­da al paque­te Stan­dard Assets y vemos que su direc­ción comien­za con "Assets > Stan­dard Assets > …". En el video hici­mos una car­pe­ta lla­ma­da "Paque­tes Exter­nos" y den­tro de ella colo­camos el paque­te Stan­dard Assets.

Todo parece indicar que hay algún pro­ce­so que está bus­can­do archivos de Stan­dard Assets pero den­tro de la car­pe­ta Assets, no la car­pe­ta Paque­tes Exter­nos, así que mue­vo la car­pe­ta Stan­dard Assets a la car­pe­ta Assets y el error se solu­ciona. Aho­ra si esta­mos en condi­ciones de entrar en el modo juego.

programa unity3d, cambio de lugar de las carpetas del proyecto.
Fig. 36: Se lle­va el paque­te Stan­dard Assets a la car­pe­ta Assets del proyecto.

Prueba del juego en Unity

El pre­fab FPS Con­troller fun­ciona como un juego están­dar en primera per­sona. Avance, retro­ce­so, desplaza­mien­tos lat­erales con las teclas WASD o las fle­chas. Salto con bar­ra espa­ci­ado­ra, con Shift se puede cor­rer. Con el mouse se con­tro­la la vista y tiene sonido de pasos. Es un buen pun­to de par­ti­da para empezar a for­mar una idea.

programa unity3d, modo juego, prueba de una escena en la que se ve el suelo marrón, cielo celeste, una escalera azul, un cilindro azul y un cilindro rojo.
Fig. 37: Luego de cor­re­gir los errores se puede entrar en el modo juego.

Compilación

Aho­ra vamos a gener­ar una ver­sión stand­alone del proyec­to, es decir un con­jun­to de car­petas y archi­vo eje­cutable que puede fun­cionar en nue­stro sis­tema oper­a­ti­vo sin necesi­dad de ten­er el motor Uni­ty abierto.

Vamos a la pes­taña File y hace­mos clic en Build Set­tings, para con­fig­u­rar los parámet­ros de compilación.

programa unity3d, ventana file con la opcion build settings seleccionada.
Fig. 38: Para hac­er una com­pi­lación hace­mos clic en File > Build Settings.

Nos sale la ven­tana que se ilus­tra en la figu­ra 39, allí podemos selec­cionar la platafor­ma objetivo.

Si obser­van en la parte supe­ri­or es donde están lis­tadas las esce­nas del juego. En ese momen­to no ten­emos ningu­na esce­na agre­ga­da a la compilación.

programa unity3d, ventana build settings. no hay ninguna escena agregada a la compilación.
Fig. 39: Ven­tana con parámet­ros de com­pi­lación. No se han agre­ga­do escenas.

Hacien­do clic en el botón Add Open Scenes vamos a agre­gar la esce­na en la que estu­vi­mos tra­ba­jan­do en todo el video. Como se obser­va en la figu­ra 40.

programa unity3d, ventana build settings. hay unaescena agregada a la compilación.
Fig. 40: Ven­tana de com­pi­lación. Se ha agre­ga­do la esce­na en la que trabajamos.

Aho­ra solo res­ta hac­er clic en Build And Run y ele­gir la car­pe­ta donde colo­car los archivos gen­er­a­dos. Al finalizar el pro­ce­so de com­pi­lación el juego se eje­cu­ta y nos aparece una ven­tana en la que podemos selec­cionar la res­olu­ción y cal­i­dad. Le damos al botón Play! y el juego comienza.

ejecución de una versión standalone de un proyecto en unity. ventana para seleccionar resolución y calidad.
Fig. 41: Ven­tana de ini­cio del juego. Se puede ele­gir la res­olu­ción y la calidad.

Conclusión

En esta primera entra­da vimos los primeros pasos al comen­zar un juego en uni­ty. Hici­mos bas­tante énfa­sis en la orga­ni­zación, que nos ben­e­fi­cia­rá a largo pla­zo en el desarrollo.

Vimos las esce­nas de Uni­ty, cada esce­na es un mun­do aparte y con­tiene una deter­mi­na­da can­ti­dad de ele­men­tos o GameOb­jects que se encuen­tran lis­ta­dos en la jer­ar­quía del proyecto.

Impor­ta­mos archivos tan­to de la libr­ería Stan­dard Assets como de la tien­da Asset Store. Al prin­ci­pio lo más impor­tante es tratar de dar­le for­ma a las ideas que ten­emos, para esto los assets de las libr­erías nos facil­i­tan las cosas.

Vimos algo sobre la relación de par­entesco que existe entre los GameOb­jects y cómo los cam­bios que se apli­can sobre un obje­to padre tam­bién impactan en sus obje­tos hijo.

Creamos mate­ri­ales que sir­ven para dar col­or y tex­tu­ra a los objetos.

La fuente de luz direc­cional nos sirve para ilu­mi­nar una esce­na como lo haría el sol, las som­bras se proyec­tarán en fun­ción de la rotación que ten­ga esta fuente de luz.

Hici­mos una escalera sim­ple uti­lizan­do las prim­i­ti­vas que se pueden crear con Uni­ty y aplicán­doles trans­for­ma­ciones, es decir cam­bios de escala, rotación y posición.

Colo­camos el pre­fab­ri­ca­do de Stan­dard Assets "FPSCon­troller" que es un con­trol en primera per­sona. Ráp­i­da­mente ya ten­emos un per­son­aje que puede recor­rer el esce­nario, cor­rer y saltar.

En el pro­ce­so hubo errores que debi­mos solu­cionar para poder entrar en el modo juego. La depu­ración de errores es una tarea difí­cil cuan­do empezamos a pro­gra­mar, pero con la prác­ti­ca se van come­tien­do menos errores y resul­ta más fácil corregirlos.

Final­mente hici­mos una com­pi­lación eje­cutable des­de el sis­tema oper­a­ti­vo. Existe una gran can­ti­dad de platafor­mas a las que podemos expor­tar nue­stro juego en Uni­ty. En prin­ci­pio vamos a expor­tar a Win­dows y Android.


MÁS ARTÍCULOS



Deja un comentario

Tu dirección de correo electrónico no será publicada.

Scroll al inicio
Secured By miniOrange