Aplicacion Unity 3d

of 131 /131
7/23/2019 Aplicacion Unity 3d http://slidepdf.com/reader/full/aplicacion-unity-3d 1/131  ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES  Y DE TELECOMUNICACIÓN Titulación : INGENIERO TÉCNICO EN INFORMÁTICA  DE GESTIÓN Título del  proyecto: APLICACIÓN CON LENGUAJE JAVASCRIPT Y C# DE ENTRETENIMIENTO BASADO EN UNITY 3D Asier Echeverria Esparza Oscar Ardaiz Pamplona, 15 de Junio de 2013 

Transcript of Aplicacion Unity 3d

Page 1: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 1/131

 

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS 

INDUSTRIALES Y DE TELECOMUNICACIÓN 

Titulación : 

INGENIERO TÉCNICO EN INFORMÁTICA DE GESTIÓN 

Título del proyecto: 

APLICACIÓN CON LENGUAJE JAVASCRIPT Y C# DEENTRETENIMIENTO BASADO EN UNITY 3D 

Asier Echeverria Esparza 

Oscar Ardaiz 

Pamplona, 15 de Junio de 2013 

Page 2: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 2/131

 

Índice: 

1. Resumen .......................................................................................... 3

2. Introdución ...................................................................................... 4

2.1. Antecedentes............... ................ ................... ................ ................   4

2.2. Objetivos.............. .................. .................. ................ ................. ......   27

2.3. Fases del ro!ecto...........................................................................   27

2.4. "lani#icación........................... .................. ................ ................. ......  2$

3. 

%esarrollo ........................................................................................ 2&

3.1. Formación en 'nit! 3%......................................................................  2&

3.2 (omilación ! ejecución en android......... ....... ...... ...... ....... ..... )2

3.3. An*lisis.............................................................................................  ))

3.4. %ise+o e imlementación................................................................  )&

3.). "roblemas encontrados ..................................................................  127

4. (onclusiones ! l,neas #uturas ............................................................ 12$

4.1. (oncusiones t-cnicas.............. ................. ................... ................. ...  12$

4.2. (onclusiones ersonales .................................................................  12&

4.3. ,neas #uturas .................................................................................  13/

0. 

ibliora#,a...................................................................................... 131 

Page 3: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 3/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 3

1. Resumen: 

6n 

este documento se recoe la memoria del "ro!ecto de Fin de (arrera arala obtención del t,tulo de Ineniero -cnico

 

In#orm*tico de 8estión en la 'niversidad"9blica de avarra.

6ste ro!ecto 

;ue lleva 

or t,tulo <Alicación con lenuaje avacrit! (5 de 6ntretenimiento basado en 'nit! 3%= >a sido reali?ado or Asier 6c>everria6sar?a.

6l 

encarado 

de 

suervisar 

el 

desarrollo 

del 

ro!ecto 

>a 

sido 

Oscar 

Ardai?@tutor ! ro#esor en la 'niversidad "9blica de avarra.

6n 

eneral@ el ro!ecto 

consiste 

en 

una alicación de 

entretenimientodestinada

 

ara el uso 

en móviles ;ue disonan del sistema oerativo Android@ con

 

el cual@ 

el usuario 

odr* interactuar con 

la alicación ara conseuir una seriede objetivos. (on esta alicación se intenta ;ue el usuario ase un rato aradable@adem*s@ >a sido construido de manera ;ue su uso sea lo m*s cómodo e intuitivo.

"ara la reali?ación de este ro!ecto@ se >an seuido todas las #ases del ciclo devida en un

 

roducto: eseci#icación de re;uisitos@ 

an*lisis@ dise+o@ imlementación 

!ruebas.

 

Page 4: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 4/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 4

2. 

Introducción: 

2.1.Antecedentes: 

uestro deseo era construir una alicación ara Android de entretenimiento@ es decir@ un jueo@

 

or 

lo 

;ue 

tuvimos ;ue 

in#ormarnos cual eran 

los 

rocesos 

ara conseuirdise+ar@ imlementar ! ;ue #uncionase una alicación sobre un móvil con sistema oerativoAndroid.

 

"ara ello@ a>ora vamos a elicar tres asectos necesarios ara la construcción de una

alicación en 'nit! 3% ara Android:

•  Android %B •  'nit! 3% •  avacrit •  ( >ar 

Page 5: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 5/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 5

Android %B: 

Android %B es el Cit de desarrollo de so#tDare con el cual odemos desarrollaralicaciones ara disositivos ;ue disonan del sistema oerativo Android. aslata#ormas ;ue soorta son inu Ecual;uier distribución moderna@ Gac O H 1/.4.& o suerior ! indoDs H" o osterior.

as alicaciones ueden ser vendidas a trav-s del Android GarCet ! los desarrolladores;ue ubli;uen sus alicaciones en este marCet reciben el 7/J de los inresos orventas ! 8oole se ;ueda con el 3/J restante. os aos los reali?a 8oole a trav-sdel 8oole c>ecCout. "or lo eneral el n9mero de alicaciones ratuitas es muc>oma!or ;ue el de las de ao@ ! reali?an servicios similares.

Page 6: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 6/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 6

Formación b*sica en 'nit! 3% 

'nit! 

3% 

es 

una 

>erramienta 

de 

roramación 

interada 

ara 

la 

creación 

de 

video@ jueos

 

3% 

otros 

contenidos 

interactivos 

como 

visuali?aciones 

ar;uitectónicas oanimaciones 3% en tiemo real. 'nit! ermite crear  jueos ara las siuienteslata#ormas: indoDs@

 

Gac 

H@ 

ii@ 

i">oneKi"ad@ 

Hbo 

3)/@ 

Android ! 

"la! tation 3.

6l desarrollador de este so#tDare es 'nit! ec>noloies@ una emresa con sede en anFrancisco ! varias o#icinas de desarrollo en %inamarca@ ituania ! Reino 'nido. 'nit!ec>noloies est* revolucionando la industria del  jueo con 'nit! 3d or su lata#ormade desarrollo de ran avance ara  la creación de  jueos 3%@ alicaciones  interactivas

en 3%@ or simulaciones ! visuali?aciones de #ormación m-dica ! ar;uitectónica@ en  laDeb@ el IO@ Android@ ! m*s consolas Eii ! "la! tation 3.

os #undadores de 'nit! ec>noloies son %avid Lelason@ ic>olas Francis ! oac>imArte. 'tili?an un modelo de neocio ;ue >a revolucionado el modelo de neocios delos  jueos. 6s ratis ara una ran roorción de desarrolladores ! ase;uibles ara elresto@

 

con 

unos 

inresos 

;ue 

son 

los 

su#icientemente 

#uertes 

ara 

mantener 

'nit!ec>noloies

 

como 

un 

neocio 

rentable 

;ue 

crece 

r*idamente. 

6s 

una 

emresarivada con el 0/ J de los inresos #uera de 66''@ de los ;ue el 3/ J de los inresos

no est*n relacionados con los  jueos.

us roductos son: 'nit! 3%@ 'nit! "ro@ Asset erver@ iO e iO "ro.

•  Inter#a? 8ra#ica: 

6n este aartado se elicaran la inter#a? r*#ica ara reali?ar oeraciones b*sicas ! las#unciones rinciales ara navear a trav-s de las secciones ;ue 'nit! o#rece.

•  Gain 6ditor indoD: 6s  la ventana del editor rincial ! est* comuesta de varias subventanas@  llamadasvistas EvieDs. La! varios tios de vistas en 'nit! ! cada uno de ellos tiene una #unciónesec,#ica.

 

orani?ación 

de 

estas 

vistas 

en 

la 

ventana 

rincial 

tiene 

variascon#iuraciones ;ue uedes

 

modi#icar 

con 

la oción a!out ;ue se 

encuentra 

en 

laarte

 

derec>a 

de 

oolbar. 

Al 

seleccionar 

esta 

oción 

uedes 

entre 

las 

siuientesociones:

Page 7: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 7/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 7

•  2 b! 3: 6s la con#iuración ;ue se observa en la siuiente imaen@ ;ue consta de 2 Ecene ! 8ame or 3 ELierarc>!@ "roject e Insector.

 

•  4 lit: (on esta con#iuración se muestra 4 vistas de cene ero con di#erentes *nulos ! aarte Lierarc>!@ "roject e Insector. 6sta con#iuración es

 

m*saroiada

 

ara 

el 

modelado 

en 

3% 

debido 

;ue 

te 

de 

una 

visión 

de 

al?adoer#il ! lanta de los objetos 3%.

Page 8: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 8/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 8

•  all: 6sta con#iuración or una vista m*s rande en la ;ue uedesalternar entre cene ! 8ame

•  ide: 

6s 

mu! 

similar 

la 

anterior 

con#iuración@ 

con 

la 

di#erencia 

de 

la colocación de Lierarc>!@ "roject e Insector

Page 9: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 9/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 9

•  "roject MieD: 6n esta vista uedes encontrar todas  las roiedades necesarias ara crear tu  jueo@

como 

scenes@ 

scrits@ 

3% 

models@ 

tetures@ 

audio 

#iles 

re#abs. 

odo 

ro!ecto 

en'nit!

 

tiene 

una 

careta 

donde 

se 

almacenan 

todas 

estas 

roiedades@ 

tambi-nllamadas

 

Assets@ ero es 

mu! 

recomendable no mover "roject Assets usando el elorador del sistema oerativo !a

 

;ue 

se 

ueden 

romer 

v,nculos 

entre 

datos 

delro!ecto de 'nit!. e debe usar siemre el "roject MieD ara orani?ar assets.

 

•  Lierarc>!: Lierarc>! contiene en todo momento los 8ameObjects ;ue se encuentran en escena.os

 

objetos 

aarecen 

desaarecen 

de la 

vista 

al 

mismo tiemo ;ue los 

objetos 

seeliminen de la escena o se creen nuevos. Alunos

 

de estos objetos son 

alicacionesdirectas de los assets #iles como 3% models@ ! otros

 

son alicaciones de los "re#abs 

Page 10: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 10/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 10

•  oolbar: 

a barra de >erramientas b*sica consiste en cinco controles rinciales:

rans#orm tools:

6s usada en cene MieD ara seleccionar@ mover@  rotar ! escalar

los objetos del  jueo.

rans#orm 8i?mo oles:

A#ecta la #orma del cene MieD.

Page 11: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 11/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 11

(ontrol de reroducción:

irve ara controlar la reroducción del  jueo en la vista 8ame. "uedes

reroducir@ arar ! avan?ar en el estado de la alicación.

a!ers %roNdoDn:

(ontrola los objetos ;ue son mostrados en la vista cene.

a!out %roNdoDn:

(ontrola 

la disosición de 

las vistas en  la ventana 

rincial como 

!a

>emos nombrado anteriormente.

•  cene MieD: a vista cene es una ventana interactiva en la cual uede seleccionar ! osicionar losambientes@ el  juador@ la c*mara@ ! todos los dem*s 8ameObjects ;ue intervenan enla 

alicación. 

"are 

reali?ar 

todas 

estas #unciones 

sobre 

cene 

MieD 

debe 

utili?ar

rans#orm tools ! el ratón del ordenador.

Page 12: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 12/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 12

'tili?ando la >erramienta <mano= odr* mover la c*mara de cene MieD de i?;uierdaa derec>a@ de arriba abajo ulsando el botón  i?;uierdo del ratón. 6n caso de ;ue notener seleccionado  la oción mano@ obtendr*  la misma  #unción resionando  la ruedadel ratón.

Ganteniendo 

Alt 

>aciendo 

clicC 

uede 

irar 

sobre 

un 

unto 

central 

ara 

obtenerotro unto de vista.

ulsas 

sobre la 

vista cene con el 

botón derec>o del 

ratón ! 

arrastras@ 

la 

c*maracene ira ero sobre el unto donde este situada la c*mara cene.

"ara >acer oom en 

la vista cene tiene dos osibilidades@ o bien 

con la rueda delraton@ o ulsando Alt ! botón derec>o del ratón ! arrastrando.

Otra #unción interesante@ es la utili?ación de la tecla ma!9scula Es>i#t al mismo tiemo

;ue las anteriores combinaciones ara ;ue el e#ecto de oom o desla?amiento de lac*mara sea muc>o m*s r*ido.

 

ambi-n 

es 

osible cambiar 

la 

c*mara 

de 

la 

vista 

cene 

modoisom-trico seleccionando el unto central o ersectiva@ u obtener otro*nulo ulsando cual;uiera de los ejes EH@ P@ .

Otra manera de seleccionar las ociones de rans#orm tools es a trav-s de los atajosde teclado. as teclas Q@ @ 6@ R corresonden a las >erramientas >and@ translate@rotate ! scale resectivamente.

Page 13: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 13/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 13

6n el roceso de construcción de los  jueos@ se tendr* ;ue ubicar varios objetos. "araello@

 

debemos 

usar 

rans#orm 

ools 

en 

el 

toolbar 

ara 

trasladar@ 

rotar 

escalar 

a8ameObjects. (ada una de estas >erramientas osee un 8i?mo ;ue aarece alrededordel objeto ;ue esta seleccionado en el cene MieD. e uede usar el ratón ! maniularcual;uier

 

8i?mo 

ais 

ara 

modi#icar 

el 

comonente 

rans#orm 

del 

8ameObject@ otambi-n se ueden introducir valores directamente al comonente

 

rans#orm ;ue seencuentra en el Insector.

a vista cene contiene una barra de control ;ue nos ermite ver la escena en variosmodos

 

de vista como 

tetured@ Dire#rame@ R8@ overdraD@ ! otros. 6sta barra teermitir* ver iluminaciones@ o,r los objetos con sonido@ ! elementos del  jueo.

•  8ame MieD: a vista 8ame es enerada desde la Gain (amera@ es decir@ la c*mara o las c*maras del

 jueo. 6s una 

vista  reresentativa 

en 

la 

cual se uede 

observar 

el roducto 

#inal sintener ;ue construir el ro!ecto ! ejecutarlo.

Page 14: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 14/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 14

a manera de 

controlar la reroducción del  jueo sobre esta vista es mediante la barra

de control de reroducción de oolbar. 6stos botones se utili?ar ara

controlar 

el 

editor 

"la! Gode@ 

ara 

as, 

observar 

como 

#unciona 

el 

roducto 

#inal.Gientras se esta ejecutando uedes observar en las dem*s vistas como evoluciona laalicación ! uedes reali?ar modi#icaciones sobre los objetos del  jueo !a ;ue una ve?arada la reroducción estos valores seran iniciali?ados de nuevo con el valor antiuo.

Gediante  la barra de control de  la vista 8ame uedes controlar  las dimensiones del8ame MieD

 

con Free Asect@ maimi?ar al 1//J  la vista en modo "la!@ observar  los8i?mos durante se este reroduciendo ! mostrar  las estadisticas de renderi?ado@ ;uees mu! util ara modi#icar ! otimi?ar los r*#icos.

Page 15: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 15/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 15

•  Insector: os  jueos

 

! otras alicaciones creadas or 

'nit! est*n 

comuestos or 

varios8ameObjects ;ue contienen meses@ scrits@ sounds@ colliders

 

! otros comonentes. 6n

la 

vista 

Insector 

se 

muestra 

todos 

estos 

comonentes 

;ue 

contienen 

el 

objetoseleccionado ! todas sus roiedades.

%e este modo cual;uier roiedad de los comonentes de los objetos ueden sermodi#icadas

 

directamente 

sobre 

el 

Insector 

sin 

cambiar 

el 

scrit. 

Otra 

utilidad 

delinsector

 

es 

cambiar 

valores 

de 

las 

variables 

sobre Insector durante 

el 

Godo 

"la!ara reali?ar ruebas.

a oción m*s imortante en mi oinión es la de oder re#erenciar objetos a variablessolo arrastrando. 6s decir@ uedes de#inir una variable en un crit como ublica deltio rans#orm o 8ameObject or ejemlo@ ! lueo arrastrar ! soltar sobre la variableen la vista insector ara as, asinarlo como variable del crit.

Page 16: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 16/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 16

Formación sobre el lenuaje avacrit: 

Mamos a elicar  las caracter,sticas del  lenuaje@ reali?ando rimero un recorrido or

su >istoria ! ver su creación ! las di#erencias ! similitudes con java !a ;ue uede llear acon#undirse ! ensar ;ue javascrit es iual ;ue java solo or;ue emie?e or java.

•  Listoria de avacrit: 

avacrit #ue desarrollado oriinalmente or rendan 6ic> de etscae con el nombre deGoc>a@ el cual #ue renombrado osteriormente a ivecrit@ ara #inalmente ;uedar comoavacrit. 6l cambio de nombre coincidió aroimadamente con el momento en ;ueetscae areó soorte ara la tecnolo,a ava en su naveador Deb etscae

aviator en la versión 2.//2 en diciembre de 1&&0. a denominación rodujo con#usión@dando la imresión de ;ue el lenuaje es una rolonación de ava@ ! se >a caracteri?adoor muc>os como una estrateia de mercadotecnia de etscae ara obtener restiio einnovar en lo ;ue eran los nuevos lenuajes de roramación Deb.

avacritS es una marca reistrada de Oracle (ororation. 6s usada con licencia or losroductos creados or etscae (ommunications ! entidades actuales como laFundación Go?illa.

Gicroso#t dio como nombre a su dialecto de avacrit critS@ ara evitar roblemas

relacionados con la marca. crit #ue adotado en la versión 3./ de Internet 6lorer@liberado en aosto de 1&&)@ e inclu!ó comatibilidad con el 6#ecto 2/// con las #uncionesde #ec>a@ una di#erencia de los ;ue se basaban en ese momento. os dialectos uedenarecer tan similares ;ue los t-rminos avacritS ! critS a menudo se utili?anindistintamente@ ero la eseci#icación de crit es incomatible con la de 6(GA enmuc>os asectos.

"ara evitar estas incomatibilidades@ el orld ide eb (onsortium dise+ó el est*ndar%ocument Object Godel E%OG@ o Godelo de Objetos del %ocumento en esa+ol@ ;ue

incororan Bon;ueror@ las versiones ) de Internet 6lorer ! etscae aviator@ Oera laversión 7@ Go?illa Alication uite ! Go?illa Fire#o desde su rimera versión.

6n 1&&7 los autores rousieron$ avacrit ara ;ue #uera adotado como est*ndar dela 6uroean (omuter Ganu#acturers TAssociation 6(GA@ ;ue a esar de su nombre no eseuroeo sino internacional@ con sede en 8inebra. 6n junio de 1&&7 #ue adotado como unest*ndar 6(GA@ con el nombre de 6(GAcrit. "oco desu-s tambi-n como un est*ndarIO.

Page 17: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 17/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 17

etscae introdujo una imlementación de scrit del lado del servidor con etscae6nterrise erver@ lan?ada en diciembre de 1&&4 Eoco desu-s del lan?amiento deavacrit ara naveadores Deb. A artir de mediados de la d-cada de los 2///@ >a

>abido una roli#eración de imlementaciones de avacrit ara el lado servidor. ode.jses uno de los notables ejemlos de avacrit en el lado del servidor@ siendo usado enro!ectos imortantes.

avacrit se >a convertido en uno de los lenuajes de roramación m*s oulares eninternet. Al rinciio@ sin embaro@ muc>os desarrolladores reneaban el lenuaje or;ueel 9blico al ;ue va diriido lo #ormaban ublicadores de art,culos ! dem*s a#icionados@entre otras ra?ones. a lleada de Aja devolvió avacrit a la #ama ! atrajo la atención demuc>os otros roramadores. (omo resultado de esto >ubo una roli#eración de un

conjunto de #rameDorCs ! librer,as de *mbito eneral@ mejorando las r*cticas deroramación con avacrit@ ! aumentado el uso de avacrit #uera de los naveadoresDeb@ como se >a visto con la roli#eración de entornos avacrit del lado del servidor. 6nenero de 2//&@ el ro!ecto (ommon #ue inauurado con el objetivo de eseci#icar unalibrer,a ara uso de tareas comunes rincialmente ara el desarrollo #uera del naveadorDeb.

•  (aracter,sticas de avacrit: 

Imperativo y estructurado

avacrit soorta ran arte de la estructura de roramación de ( Eor ejemlo@sentencias i#@ bucles #or@ sentencias sDitc>@ etc.. (on una salvedad@ en arte: en (@ el*mbito de las variables alcan?a al blo;ue en el cual #ueron de#inidasU sin embaro enavacrit esto no es soortado@ uesto ;ue el *mbito de las variables es el de la #unciónen la cual #ueron declaradas. 6sto cambia con la versión de avacrit 1.7@ !a ;ue soorta

blocC scoin or medio de la alabra clave let. (omo en (@ avacrit >ace distinciónentre eresiones ! sentencias. 'na di#erencia sint*ctica con resecto a ( es la inserciónautom*tica de unto ! coma@ es decir@ en avacrit los untos ! coma ;ue #inali?an unasentencia ueden ser omitidos.

Page 18: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 18/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 18

Tipado dinámico

(omo en la ma!or,a de lenuajes de scritin@ el tio est* asociado al valor@ no a la

variable. "or ejemlo@ una variable en un momento dado uede estar liada a unn9mero ! m*s adelante@ reliada a una cadena. avacrit soorta varias #ormas decomrobar el tio de un objeto@ inclu!endo ducC t!in. 'na #orma de saberlo es ormedio de la alabra clave t!eo#.

Objetual

avacrit esta #ormado casi en su totalidad or objetos. os objetos en avacrit sonarra!s asociativos@ mejorados con la inclusión de rototios Ever m*s adelante. osnombres de las roiedades de los objetos son claves de tio cadena: obj. V 1/ ! objWTTX

V 1/ son e;uivalentes@ siendo la notación con unto a?9car sint*ctico. as roiedades !sus valores ueden ser creados@ cambiados o eliminados en tiemo de ejecución. ama!or,a de roiedades de un objeto E! a;uellas ;ue son incluidas or la cadena de la>erencia rotot,ica ueden ser enumeradas a or medio de la instrucción de bucle #or...in. avacrit tiene un e;ue+o n9mero de objetos rede#inidos como son Function !%ate.

Evaluación en tiempo de ejecución

avacrit inclu!e la #unción eval ;ue ermite evaluar eresiones como eresadas como

cadenas en tiemo de ejecución. "or ello se recomienda ;ue eval sea utili?ado conrecaución ! ;ue se ote or utili?ar la #unción O.arseE en la medida de lo osible@ues resulta muc>o m*s seura.

Prototipos

avacrit usa rototios en ve? de clases ara el uso de >erencia.6s osible llear aemular muc>as de las caracter,sticas ;ue roorcionan las clases en lenuajes orientadosa objetos tradicionales or medio de rototios en avacrit.

Funciones como constructores de objetosas #unciones tambi-n se comortan como constructores. "re#ijar una llamada a la #uncióncon la alabra clave neD crear una nueva instancia de un rototio@ ;ue >eredanroiedades ! m-todos del constructor Eincluidas las roiedades del rototio deObject.6(GAcrit 0 o#rece el m-todo Object.create@ ermitiendo la creación el,cita deuna instancia sin tener ;ue >eredar autom*ticamente del rototio de Object Eenentornos antiuos uede aarecer el rototio del objeto creado como null.

Page 19: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 19/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 19

a roiedad rotot!e del constructor determina el objeto usado ara el rototiointerno de los

uevos objetos creados. e ueden a+adir nuevos m-todos modi#icando el rototio delobjeto usado como constructor. (onstructores rede#inidos en avacrit@ como Arra! uObject@ tambi-n tienen rototios ;ue ueden ser modi#icados. Aun;ue esto sea osiblese considera una mala r*ctica modi#icar el rototio de Object !a ;ue la ma!or,a de losobjetos en avascrit >eredan los m-todos ! roiedades del objeto rotot!e@ objetoslos cuales ueden eserar ;ue estos no >a!an sido modi#icados.

•  %i#erencias con ava: 

Compilador: "ara roramar en ava necesitamos un Bit de desarrollo ! un comilador.in embaro@ avascrit no es un lenuaje ;ue necesite ;ue sus roramas se comilen@sino ;ue -stos se interretan or arte del naveador cuando -ste lee la *ina.

Orientado a objetos: ava es un lenuaje de roramación orientado a objetos. EG*starde veremos ;ue ;uiere decir orientado a objetos@ ara el ;ue no lo sea todav,aavascrit no es orientado a objetos@ esto ;uiere decir ;ue odremos roramar sinnecesidad de crear clases@ tal como se reali?a en los lenuajes de roramaciónestructurada como ( o "ascal.

Propósito: ava es muc>o m*s otente ;ue avascrit@ esto es debido a ;ue ava es unlenuaje de roósito eneral@ con el ;ue se ueden >acer alicaciones de lo m*s variado@sin embaro@ con avascrit sólo odemos escribir roramas ara ;ue se ejecuten en*inas Deb.

Estructuras fuertes: ava es un lenuaje de roramación #uertemente tiado@ esto;uiere decir ;ue al declarar una variable tendremos ;ue indicar su tio ! no odr*cambiar de un tio a otro autom*ticamente. "or su arte avascrit no tiene estacaracter,stica@ ! odemos meter en una variable la in#ormación ;ue deseemos@

indeendientemente del tio de -sta. Adem*s@ odremos cambiar el tio de in#ormaciónde una variable cuando ;ueramos.

Otras características: (omo vemos ava es muc>o m*s comlejo@ aun;ue tambi-n m*sotente@ robusto ! seuro. iene m*s #uncionalidades ;ue avascrit ! las di#erencias ;uelos searan son lo su#icientemente imortantes como ara distinuirlos #*cilmente.

Page 20: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 20/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 20

Formación sobre el lenuaje ( >ar: 

Mamos a elicar las caracter,sticas del lenuaje@ reali?ando rimero un recorrido orsu >istoria ! ver su creación.

•  Listoria de (@ (YY ! (5: 6l lenuaje de roramación (5 #ue creado con el mismo es,ritu

 

;ue los lenuajes ( !(YY.

 

6sto 

elica 

sus oderosas restaciones 

! su 

#*cil 

curva de 

arendi?aje. o 

seuede decir lo mismo de ( ! (YY@ ero como (5 #ue creado desde cero. Gicroso#t setomó

 

la 

libertad 

de 

eliminar 

alunas 

de 

las 

restaciones 

m*s 

esadas 

Ecomo 

losunteros. 6sta sección ec>a un vista?o a los lenuajes ( ! (YY@ siuiendo su evolución>asta (5.

6l 

lenuaje 

de 

roramación 

#ue 

dise+ado 

en 

un 

rinciio 

ara 

ser 

usado 

en 

elsistema oerativo

 

'IH. ( se usó ara crear muc>as alicaciones 'IH. inclu!endo uncomilador de (. ! a la lara se usó ara describir el mismo 'IH. u amlia acetaciónen el mundo acad-mico se amlió al mundo comercial ! los roveedores de so#tDarecomo Gicroso#t ! orland ublicaron comiladores ( ara los ordenadores ersonales.6l A"I oriinal ara indoDs #ue dise+ado ara trabajar con códio indoDs escritoen ( ! el 9ltimo conjunto de A"I b*sicos del sistema oerativo indoDs siue siendocomatible con ( >o! en d,a.

%esde 

el 

unto 

de 

vista 

del 

dise+o. 

carec,a 

de 

un 

detalle 

;ue 

!a 

o#rec,an 

otroslenuajes

 

como 

malltalC: 

el 

conceto 

de 

objeto. 

"iense 

en 

un 

objeto 

como 

en 

unacolección de datos ! un conjunto de oeraciones ;ue ueden ser reali?adas sobre esosdatos. a codi#icación con objetos se uede lorar usando ( ero la noción de objetono era obliatoria ara el lenuaje. i ;uer,a estructurar su códio ara ;ue simularaun

 

objeto@ 

er#ecto. 

no@ 

er#ecto 

tambi-n. 

6n 

realidad 

no 

le 

imortaba. 

osobjetos no

 

eran 

una 

arte 

#undamental del lenuaje@ or 

lo 

;ue 

muc>a 

ente 

noresto muc>a atención a este est*ndar de roramación.'na ve? ;ue el conceto de orientación a objetos eme?ó a anar acetación@ se >i?o

evidente ;ue ( necesitaba ser deurado ara adotar este nuevo modo de consideraral 

códio. 

(YY 

#ue 

creado 

ara 

encarnar 

esta deuración. 

Fue 

dise+ado 

ara 

sercomatible

 

con 

el 

anterior 

( Ede 

manera 

;ue 

todos los roramas 

escritos en 

(udieran ser tambi-n roramas (YY ! udieran ser comilados con el comilador de(YY. a

 

rincial aortación 

(YY  #ue 

la 

comatibilidad 

ara 

el nuevo 

conceto deobjeto. (YY  incororo comatibilidad ara clases E;ue son <lantillas= de objetos

 

!ermitió ;ue toda una eneración de roramadores de ( ensaran en t-rminos deobjetos ! su comortamiento.

Page 21: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 21/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 21

6l lenuaje (YY es una mejora de (@ ero aun as, resenta alunas desventajas. ( ! (YY ueden ser di#,ciles de manejar. A di#erencia de lenuajes #*ciles de usar como Misualasic@ ( ! (YY son lenuajes de mu! <bajo

 

nivel= ! eien 

;ue 

muc>o 

códio ara

#uncionar correctamente. iene ;ue escribir su roio códio ara manejar asectoscomo

 

la 

estión 

de 

memoria 

el 

control 

de 

errores. 

! (YY ueden

 

dar 

comoresultado alicaciones mu! otentes@ ero debe aseurarse ;ue el códio #uncionabien. 'n error en la escritura del rorama uede >acer ;ue toda la alicación #alle ose

 

comorte 

de 

#orma 

ineserada. 

(omo 

el 

objetivo 

al 

dise+ar (YY era

 

retener 

lacomatibilidad con el anterior (@ (YY #ue incaa? de escaar de  la naturale?a de bajonivel de (.

Gicroso#t 

dise+o 

(5 

de 

modo 

;ue 

retuviera 

casi 

toda 

la 

sintais de 

(YY. 

os

roramadores ;ue est-n #amiliari?ados con esos lenuajes ueden escoer el códio(5

 

eme?ar 

roramar 

de 

#orma 

relativamente 

r*ida. 

in 

embaro@ 

la 

ranventaja de (5 consiste en ;ue sus dise+adores decidieron no >acerlo comatible conlos anteriores ( ! (YY. Aun;ue esto uede arecer un mal

 

asunto@ 

en realidad es unabuena noticia. (5 elimina  las cosas ;ue >ac,an ;ue  #uese di#,cil trabajar con ( ! (YY.(omo

 

todo 

el 

códio 

es 

tambi-n 

códio 

(YY@ (YY ten,a 

;ue 

mantener 

todas 

lasrare?as ! de#iciencias de (. (5 arte de cero ! sin nin9n re;uisito de comatibilidad@asi

 

;ue 

uede 

mantener 

los 

untos 

#uertes 

de 

sus 

redecesores 

descartar 

lasdebilidades ;ue comlicaban las cosas a los roramadores de ( ! (YY.

•  (aracter,sticas de (5 

encille! de uso 

(5 elimina muc>os elementos a+adidos or otros lenuajes ! ;ue #acilitan su uso !comresión@ como or ejemlo #ic>eros de cabecera@ o #ic>eros #uentes I%1 .12. 6s orello ;ue se dice ;ue (5 es autocontenido. Adem*s@ no se incororan al lenuajeelementos oco 9tiles@ como or ejemlo macros@ >erencia m9ltile u oeradoresdi#erentes al oerador de acceso a m-todos Eoerador unto ara acceder a miembros

de esacios de nombres.

"odernidad

Al ser (5 un lenuaje de 9ltima eneración@ incorora elementos ;ue se >a demostrado alo laro del tiemo ;ue son mu! 9tiles ara el roramador@ como tios decimales oooleanos@ un tio b*sico strin@ as, como una instrucción ;ue ermita recorrercolecciones con #acilidadEinstrucción #oreac>. 6stos elementos >a! ;ue simularlos enotros lenuajes como (YY o ava

Page 22: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 22/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 22

Orientado a objetos

(5 como lenuaje de 9ltima eneración@ ! de roósito eneral@ es orientado a objetos.(5 no ermite la inclusión de #unciones ni variables lobales ;ue no est-n incluidos en

una de#inición de tios@ or lo ;ue la orientación a objetos es m*s ura ! clara ;ue enotros lenuajes como (YY. Adem*s@ (5 soorta todas las caracter,sticas del aradima dela roramación orientada a objetos@ como son la encasulación@ la >erencia ! elolimor#ismo.

Orientado a componentes

a roia sintais de (5 inclu!e elementos roios del dise+o de comonentes ;ue otroslenuajes tienen ;ue simular. a sintais de (5 inclu!e or ejemlo #ormas de de#inirroiedades@ eventos o atributos.

#ecolección de basura

(omo !a se comentó@ todo lenuaje incluido en la lata#orma .6 tiene a su disosiciónel recolector de basura del (R. 6sto imlica ;ue no es necesario incluir instrucciones dedestrucción de objetos en el lenuaje.

e$uridad de tipos

(5 inclu!e mecanismos de control de acceso a tios de datos@ lo ;ue aranti?a ;ue no serodu?can errores di#,ciles de detectar como un acceso a memoria de nin9n objeto@ or

ejemlo. "ara ello@ el lenuaje rovee de una serie de normas de sintais@ como orejemlo no reali?ar conversiones entre tios ;ue no sean comatibles. Adem*s@ no seueden usar variables no iniciali?adas reviamente@ ! en el acceso atablas se >ace unacomrobación de ranos ara ;ue no se ecedan ninuno de los ,ndices de la misma. euede controlar as, mismo los desbordamientos en oeraciones aritm-ticas@roduci-ndose ececiones cuando se rodu?can.

Instrucciones se$uras

"ara evitar errores comunes como se roduc,an roramando en otros lenuajes@ en (5

se >an imuesto una serie de restricciones en el uso de instrucciones de control m*scomunes. "or ejemlo@ la evaluación de toda condición >a de ser una eresióncondicional ! no aritm-tica@ como ocurr,a or ejemlo en ( o en (YY. As, se evitanerrores or con#usión del oerador iualdad con el de asinación. Otra restricción ;ue seimone en la instrucción de selección sDitc>@ imoniendo ;ue toda selectora de lainstrucción #inalice con una instrucción breaC o oto ;ue indi;ue cu*l es la siuienteacción a reali?ar.

Page 23: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 23/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 23

%nificación de tipos

6n (5 todos los tios derivan de una suerclase com9n llamada !stem. Object @ or lo;ue autom*ticamente >eredar*n todos los miembros de#inidos en esta clase. 6s decir@ son

Objetos. A di#erencia de ava@ en (5 esta caracter,stica tambi-n se alica ara los tiosb*sicos.

E&tensión de los operadores básicos

"ara #acilitar la leibilidad de códio ! conseuir ;ue los nuevos tios de datos ;ue sede#inan a trav-s de las estructuras est-n al mismo nivel ;ue los elementos rede#inidos enel lenuaje@ al iual ;ue (YY ero a di#erencia de ava@ (5 ermite rede#inir el sini#icadode la ma!or,a delos oeradores Eincluidos el de la conversión cuando se ali;uen adi#erentes tios de objetos.

E&tensión de modificadores

(5 o#rece@ a trav-s de los Atributos@ la osibilidad de a+adir a los metadatos del móduloresultante de la comilación de cual;uier #uente in#ormación adicional a la enerada orel comilador ;ue lueo odr* ser consultada en tiemo de ejecución a trav-s de labiblioteca de re#leión de .6.

Eficiente6n (5@ todo el códio inclu!e numerosas restricciones ara aranti?ar su seuridad@ noermitiendo el uso de unteros. in embaro@ ! a di#erencia de ava@ eistenmodi#icadores ara saltarse esta restricción@ udiendo maniular objetos a trav-s deunteros. "ara ello basta identi#icar reiones de códio con el identi#icador'nsa#e@ ! odr*n usarse en ellas unteros de #orma similar a como se >ace en (YY. 6stacaracter,stica uede resultar de utilidad en situaciones en las ;ue se necesite ranvelocidad de rocesamiento

Compatible

"ara #acilitar la miración de roramadores de (YY o ava a (5@ no sólo se mantiene unasintais mu! similar a la de los dos anteriores lenuajes@ sino ;ue el (R tambi-n o#rece laosibilidad de acceder a códio nativo escrito como #unciones sueltas no orientadas aobjeto@ tales como las %s de la A"I de in32.

Page 24: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 24/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 24

•  %i#erencias entre avacrit ! (5 en 'nit!3d 

'efinición de funciones

6n avacrit las #unciones son declaradas con la alabra clave #unction@ mientras ;ue en(5 se usa el tio de dato ;ue la #unción nos va a devolver. 'na #unción ;ue no devuelvenada se declara con el tio Moid@ ero otras ;ue devuelven otros tios se declaran contrin@ #loat o bool or ejemlo.

function Start () { /* stuff. */  } // JS

 ___________________________________________________________________________________________

void  Start() { /* stuff. */  } // C# 

string MyFunc() { return "hello, world"; } // C# 

Funciones $en(ricas

(5 tiene #unciones en-ricas@ ;ue tienen asociado un ar*metro con el cual identi#ican eltio de #unción ;ue son.avacritfunction tartE Z var somecrit : 6amlecrit V 8et(omonentE6amlecritU somecrit.%oomet>inEU 

(5

void tartE Z var somecrit V 8et(omonent\6amlecrit]EU  // otra opción sería declararla así  var somecrit V E6amlecrit 8et(omonentEt!eo#E6amlecritU somecrit.%oomet>inEU 

Page 25: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 25/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 25

El comando For y Foreac)

(5 usa #oreac> ! avacrit #or

for(var x in someList){ // JS 

x.someVar = true; 

foreach(var x in someList) { // C# 

x.someVar = true; 

*a palabra clave ne+

(5 necesita la alabra neD al crear una estructura ero avacrit no

var foo = Vector3(0, 0, 0); // JS 

var foo = new Vector3(0, 0, 0); // C# 

Instantiate(someObj, new Vector3(0, 0, 0), someRotation); // C# 

,acer Cast

var foo : GameObject = Instantiate(someObj...); // JS 

var foo = Instantiate(someObj...) as GameObject; // JS 

var foo = (GameObject) Instantiate(someObj...); // C# 

var foo = Instantiate(someObj...) as GameObject; // C#

Page 26: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 26/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 26

'eclaración de variables

e declaran de distinta manera como se uede areciar

1.  public int myPublicInt = 1;  // a public var 2.  int myPrivateInt = 2;  // **private** access is default, if access is

unspecified 

3.  public GameObect myOb;  // a type is specified, but n! value assi"ned 

#. 

$.  // %avascript & type specificati!n is n!t necessary' 

(.  var myPublicInt = 1;  // **public** access is default, if unspecified 

).  private var myPrivateInt = 2;  // a private var 

.  var myOb ' GameObect; 

-rrays multidimensionales1.  // +' 

2.  int-, = ne int-1(,1(;  // 1(01( 2d int array 

3. 

#.  // %avascript' 

$.  var a = ne int-1(,1(; 

'efinición de clases

e >ace de manera similar en los dos casos1.  // %avascript e0ample 

2.  class y+lass e0tends !n!eavi!ur 4 

3. 

#.  var my5ar = 1; 

$. 

(.  functi!n 6tart78 4 

).  9ebu".:!"7ell! !rld<8; 

.   

>.   

1?. 

11. // + e0ample' 

12. class y+lass ' !n!eavi!ur 4 

13. 

1#.  public int my5ar = 1; 

1$. 

1(.  v!id 6tart78 4 

1).  9ebu".:!"7ell! !rld<8; 

1.   

1>.  

Page 27: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 27/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 27

2.2.Objetivos 6l objetivo de este ro!ecto es la creación de una alicación ara elentretenimiento

 

utili?ando 

las 

ventajas 

o#recidas 

or 

'nit! 

3d 

ara 

este 

tio 

de

alicaciones. 'nit! 3% es un rorama ara reali?ar jueos ara internet@ "la! tation 3! lo

 

m*s imortante ara 

móviles I>one@ móviles con 

sistema Android ! cual;uiera;ue soorte 'nit!. 6n este ro!ecto la roramación se reali?ar* mediante los lenuajesavacrit ! (5 adem*s de los roramas AutodesC 3ds Ga ! Ga!a ara el dise+o delescenario 3d.os objetivos a desarrollar@ en una rimera instancia@ ser,an los siuientes:

^  6studio de las >erramientas@ lenuajes ! roramas a utili?ar en el dise+o de la alicación

^  %ise+o de la alicación. ^  Imlementación de la alicación. ^  "ruebas de la alicación. ^  %ocumentación de la alicación ara el correcto manejo del inter#ace. 

2.3. Fases del ro!ecto: 6taas de desarrollo

^ 6n rimer luar@ reali?aremos una etaa de #ormación ara estudiar los lenuajesavacrit !

(5 

ara 

su 

osterior 

emleo 

en 

la 

alicación. 

Reali?aremos 

varios 

tutorialesara el estudio del rorama 'nit! 3d donde reali?aremos la imlementaciónde la alicación. ambien necesitaremos conocimientos b*sicos de 3ds ma ! ma!aara el

dise+o 3d del escenario ! objetos.^ 6n seundo luar@ es necesario  reali?ar cuatro  iteraciones Erototios ara  ir 

mejorando de manera roresiva nuestra alicación.

(ada iteración constar* de las siuientes #ases:^  An*lisis: Anali?aremos los re;uisitos

 

! re;uerimientos. ^  %ise+o

 

del 

sistema: 

eme?ar* 

or 

lo 

m*s 

eneral 

se 

ir* 

bajando 

>asta llear

 

al nivel m*s bajo 

de 

dise+o. euiremos una metodolo,a 

de 

%ise+o(entrado en el 'suario.

^  Imlementación:  A trav-s de la >erramienta 'nit! 3% en lenuaje (5 ! avacrit. ^  "ruebas: "eriodo en el ;ue se reali?ar*n ruebas a nivel eneral del sistema@ 

corriiendo los errores ! #allos ;ue se va!an resentando.

Page 28: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 28/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 28

^  %ocumentación: 

>ar*n 

in#ormes 

en 

donde 

se 

muestre 

el 

roreso 

al terminar

 

cada 

iteración 

del 

ro!ecto 

as, 

como 

la 

elaboración 

de 

ladocumentación necesaria ara el uso de la alicación creada. Adem*s de la

entrea #inal Ememoria del ro!ecto con todos los datos.

"or 9ltimo@ reali?aremos los manuales necesarios ara la er#ecta utili?ación de laalicación.

2.4. "lani#icación:

"AIFI(A(I  

ombre 6taa  Fec>a comien?o  Fec>a #in  %uración 

Formación  21K11K2/12  21K11K2/1/  1 mes 

Iteración 1  21K12K2/12  21K/1K2/11  2 meses 

Iteración 2  21K/2K2/13  21K/2K2/11  1 mes 

Iteración 3  21K/3K2/13  21K/3K2/11  1 mes 

Iteración 4  21K/4K2/13  21K/4K2/11  1 mes 

%ocumentación ! memoria 

21K0K2/13  21K/0K2/11  1 mes 

Page 29: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 29/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 29

3 %esarrollo:

3.1.Formación en 'nit! 3%: 

6n 

los 

aartados 

anteriores 

!a 

>emos 

elicado 

el 

#uncionamiento 

b*sico 

delrorama 'nit! 3%@ ! a continuación@ vamos a elicar las clases m*s comunes ;ue seutili?an ara construir una alicación en 'nit!.as clases son las siuientes:

1. (ollision2. 

(ontact"oint3. %ebu

4. 

8'I0. 

Inut). Object

a. 

(omonenti. e>aviour

1. Audioource2. Audioistener3. 8'I6lement

a. 

8'Iet

b. 

8'Ieture4. 

i>t0. Gonobe>aviour

ii. 

(ollideriii. "articleAnimatoriv. "article6mitterv. 

Riidbod!vi. rans#orm

b. 8ameObject

c. 

eture7. 

Ra!$. Ra!castLit&. creen1/. ime11. ouc>12. Mector3

Page 30: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 30/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 30

%esues de elicar  las clases@ comentaremos el roceso de comilación ! ejecuciónde la alicación en un disositivo con sistema oerativo Android@ es decir@ el roceso de asar

la alicación de 'nit! al roio móvil con Android.

(lases de 'nit!: 

1 (ollision: %escribe las colisiones de los objetos. a in#ormación de las colisiones es asada orlos eventos:

^  (ollider.On(ollision6nter: 

6ste evento es llamado cuando el colliderKriidbod! >a comen?ado a tocar aotro riidbod!Kcollider. A di#erencia de Onrier6nter@ en On(ollision6nter esasado

 

como 

ar*metro 

el 

(ollision 

class 

no 

un 

(ollider. 

(ollision 

classcontiene in#ormación sobre untos de contacto Econtact oints@ velocidad deimacto Eimact velocit!@ etc.

^  (ollider.On(ollisionta!: 

6s 

llamado 

una 

ve? 

or 

#rame 

ara 

todo 

colliderKriidbod! 

;ue 

est* 

tocandootro riidbod!Kcollider. A di#erencia de Onrierta!@ On(ollisionta! asa laclase (ollision ! no un (ollider.

^  (ollider.On(ollider6it: 

6ste evento@ es llamado cuando el colliderKriidbod! >a dejado de tocar otroriidbod!Kcollider. (omo en

 

los anteriores@ este evento 

tambi-n asa la clase(ollision en ve? de un (ollider.

Page 31: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 31/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 31

clase 

(ollision 

tiene 

unas 

cuantas 

variables 

;ue 

contienen 

in#ormación 

sobre 

lacolisión :

Meamos a>ora el diarama de la clase (ollision:

relativeMelocit! a velocidad lineal relativa de los dos objetos de la colisión Esollectura

riidbod! 6l Riidbod! ;ue oleamos@ esta variable ser* nula si el collideroleado no contiene el comonente riidbod!

collider 6l (ollider oleado

trans#orm 6l comonente rans#orm ;ue es oleado

ameObject KameObjectK  es el objeto con el ;ue estamos c>ocando

contacts os untos de contacto enerados or la #,sica de los objetos.

Page 32: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 32/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 32

2 (ontact"oint:

%escribe el unto de contacto cuando sucede una colisión.

os untos de contacto son almacenados en la estructura (ollision.as variables de in#ormación son:

Meamos el diarama de la clase:

3  %ebu: 6s la clase ;ue contiene los m-todos ara reali?ar un debu de la manera m*s sencilladesarrollando un  jueo.

as #unciones de la clase son:

Meamos el diarama de la clase:

oint 6 unto de contactonormal a normal de el unt  de contactot>is(ollider 6l rimer collider en contactoot>er(ollider 6l otro collider en contacto

%raDine %ibuja 

una 

l,nea 

en 

el 

unto 

en 

el 

cual 

comien?a 

acaba 

con 

color%raDRa! %ibuja una l,nea de start to start Y dir con colorreaC "ausa el editoro Gandas un mensaje a la consola de 'nit!o6rror 6s una variante de %ebu.o ;ue manda un mensaje de error a la

consola.oarnin 6s una variante tambi-n@ ;ue manda un mensaje de aviso a la

consola de 'nit!.

Page 33: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 33/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 33

4  8'I: a clase 8'I es el inter#a? ara los 8'I de 'nit! con osicionamiento manual.

u constructor es 8'I Estatic #unction 8'I E : 8'I

as variables de la clase son:

sCin 6l sCin lobal ara usar

color inte de color lobal ara la 8'I

bacCround(olor (olor lobal de #ondo ara todo  los elementos de la8'I

content(olor (olor ara todos los tetos renderi?ados or 8'I

c>aned %evuelve true si al9n control cambia de valorenabled 6sta el 8'I >abilitado`

matri 6l 8'I trans#orma matri

toolti 'na descrición de la osición del raton sobre los elementos 8'I

Page 34: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 34/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 34

as #unciones de la clase:

abel (rea un teto o un teture label en la antalla

%raDeture %ibuja una tetura dentro de un rect*nuloo (rea un ra>ical boutton (rea un simle ress button.Reeatutton (rea un botón ;ue se activa siemre ;ue el usuario

mantena ulsado.etField (rea un tet #ield donde el usuario uede modi#icar el

teto"assDordField (rea un tet #ield donde el usuario uede introducir la

contrase+aetArea (rea un multiNline te tarea@ donde el usuario uede

editar tetoetet(ontrolame "one el nombre ara el róimo control8etameO#Focused(ontrol Ad;uiere el nombre del control llamado.Focus(ontrol Gueve el #oco de teclado ara el control nombradole (rea un onKo##  tole buttonoolbar (rea una barra de >erramientaselection8rid (rea una red de botonesLori?ontalcrollbar (rea una barra de desla?amiento >ori?ontalMerticalcrollbar (rea una barra de desla?amiento verticalein8rou (omien?a un ruo@ ! debe ir acoma+ada con una

llamada a 6nd8rou6nd8rou Finali?a un ruoeincrollMieD (omien?a un scrollin vieD dentro de 8'I6ndcrollMieD ermina un scrollin vieDcrollo %esla?a todos los scrollvieDs adjuntando or lo ;ue

tratar de >acer luar visibleindoD (rea un ou DindoD%raindoD Lace una ventana moviblerinindoDoFront raia una ventana esec,#ica al #rente de las ventanas

#lotantes.

rinindoDoacC leve una ventana eseci#ica al #ondo de las ventanasFocusindoD Lacer ;ue una ventana se convierta en la ventana activa'n#ocusindoD 6liminar el #oco sobre todas las ventanas

Page 35: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 35/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 35

Veamos el diagrama de clase de GUI donde podremos observar sus variables(atributos) y funciones: 

0  Inut: Inter#a? en

 

el inut s!stem Esistema de entrada

6sta clase es usada ara leer los ejes establecidos en el Inut Ganaer@ ! ara accedera los datos del multiNtouc>Kaccelerometro de los disositivos móviles 

"ara 

leer 

un eje se usa 

Inut.8etAis 

con uno 

de los 

siuientes 

ejes 

or 

de#ecto:<Lori?ontal=

 

<vertical= 

son 

asinados 

en 

el 

 jo!sticC@ 

A@ 

las 

#lec>as 

delteclado. <Gouse H= ! <Gouse P= son asinados en el ratón. <Fire1=@ <Fire2=@ <Fire3= sonasinados ara las teclas (trl@ Alt@ (md ! tres votos del raton o  jo!sticC. uevas ejes deentrada Einut ueden ser a+adidos en el Inut Ganaer.

Page 36: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 36/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 36

continuación 

veremos 

dos 

im*enes@ 

una 

en 

la 

;ue 

se 

muestra 

el 

inter#a? 

delInutGanaer ! otra en la cual se ver* el diarama de la clase.

(omo se uede observar en la anterior imaen@ 

en el InutGanaer se encuentrantodas

 

las 

#unciones 

asinadas@ 

17 

en 

total@ 

ero 

;ue 

ueden 

a+adirse 

m*s 

simodi#icamos

 

el 

valor 

de 

<si?e= 

ara 

asinar 

una 

nueva 

#unción si 

lo consider*semos

oortuno.

i tu estas usando  inut ara cual;uier modo de comortamiento de un movimientousa

 

Inut.8etAis. 

6sta 

te 

roorcionar* 

una 

entrada 

con#iurable 

;ue uede 

serasinada

 

al 

teclado@ 

 jo!sticC 

el 

ratón. 

'sa 

Inut.8etutton 

ara 

acciones 

comoeventos ! no lo uses ara movimientos !a ;ue Inut.8etAis >ar* el códio del scritm*s e;ue+o ! simle.

Page 37: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 37/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 37

Inut en disositivos 

móviles: os disositivos iO ! Android est*n caacitados ara catar multiles to;ues de dedo

en  la antalla simult*neamente. "uedes acceder a  los datos del estado de ese to;uede

 

dedo 

E#iner 

touc>in 

screen 

en 

el 

anterior 

#rame 

accediendo 

al 

arra! 

de 

laroiedad Inut.touc>es.

(omo 

un 

disositivo 

se 

mueve@ 

su 

>ardDare 

acelerómetro 

env,a 

una 

se+al 

l,neal 

deaceleración ;ue cambia en los tres ejes rimarios de las tres dimensiones del esacio."uedes utili?ar esa in#ormación ara detectar  la orientación actual del disositivo ! siesta orientación cambia.

6l >ardDare de aceleración env,a los valores de orientación de los ejes del disositivoen #orma de #uer?as 8@ de tal #orma ;ue un valor de 1./ reresenta una #uer?a de Y18en ese eje@ mientras ;ue un valor de N1./ reresenta una #uer?a de N18.

"ara obtener los datos del acelerómetro uedes leer la roiedad Inut.acceleration@aun;ue tambi-n uedes

 

utili?ar la roiedad 

Inut.deviceOrientation 

ara sabereactamente la orientación del disositivo en el eje ;ue ;uieras.

as variables de la clase son:

mouse"osition a osición del ratón en coordenadas iel.an!Be! 6sta aluna tecla o botón del ratón siendo ulsada`an!Be!%oDn %evuelve true en el rimer #rame ;ue el usuario

resione cual;uier botón.inuttrin %evuelve la inut de teclado entrada en este #rameacceleration ltima aceleración

 

del disositivo en los tres ejesacceleration6vents a lista de comase  de aceleración en el anterior #rameacceleration6vent(ount umer  de aceleraciones en el anterior #rame

touc>es %evuelve la lista de objetos ;ue reresentan el estadode todos los touc>es en el 9ltimo #rame.

touc>(ount 6l n9mero de touc>es.multiouc>6nabled Indica si el sistema se encara de multiouc>deviceOrientation Orientación del disositiva #,sica

Page 38: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 38/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 38

as #unciones de la clase son:

8etAis %evuelve el valor del eje virtual identi#icado or aisame8etAisRaD %evuelve el valor del eje virtual identi#icado or aisame@

sin alicar #iltro smoot>in.8etutton %evuelve true mientras el botón virtual este ulsado8etutton%oDn %evuelve true durante el #rame ;ue el botón se encuentra

ulsado8etutton' %evuelve true en el rimer #rame ;ue el usuario deja de

ulsar el botón.8etBe! %evuelve true mientras el usuario resiona la tecla

identi#icada or el nombre8etBe!%oDn %evuelve true durante el #rame ;ue el usuario comien?a a

resionar la tecla8etBe!' %evuelve true durante el #rame ;ue el usuario deja de

resionar la tecla8eto!sticCames %evuelve un arra! con la descrición de los  jo!sticC

conectados8etGouseutton Indica si el botón est* siend  ulsado

8etGouseutton%oDn %evuelve true durante el #rame ;ue el usuario resiona elbotón.

8etGouseutton' %evuelve true durante el #rame ;ue el usuario deja deresionar el botón.

ResetInutAes Resetea todas las entradas Einuts8etAcceleration6vent %evuelve la descrición de la aceleración del ultimo #rame8etouc> %evuelve el objeto ;ue reresenta el estado del touc>8etRotation8et"osition

Page 39: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 39/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 39

)  Object: 

6s 

la 

clase 

base 

de 

todos 

los 

objetos 

;ue 

'nit! 

uede 

>acer 

re#erencia. 

(ual;uiervariable ;ue derive de un objeto odr* verse en el insector ermiti-ndote dar unvalor en el inter#a?@ sin tener ;ue modi#icar el scrit.

Page 40: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 40/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 40

6n esta  imaen vemos el diarama de clases de  la clase Object@ en el cual vemos  las

relaciones de >erencia con las clases m*s imortantes ! utili?adas en nuestro ro!ecto@como son Riidbod!@ rans#orm@ 8ameObject@ eture@ (omonent@ ! muc>as m*s.

as variables de la clase son: 

as #unciones

Las funciones de la clase (class functions): 

Animation(li@ Assetundle Audio(li (omonent@ Flare@ Font@ 8ameObject@ Gaterial@Ges>@ ">!sicGaterial@ critableObject@ >ader@ errain%ata@ etAsset ! eture@estas son las clases ;ue >eredan de la clase Object@ or lo ;ue solo elicaremos lasclases ;ue >emos utili?ado en la creación de nuestra alicación.

name 6l nombre del objeto>ideFlas i el objeto se oculta@ salva la escena o modi#ica or el usuario.

8etInstanceI% %evuelve el identi#icador de la instancia del objetootrin %evuelve el nombre de el objeto

Oerador bool 6iste el objeto`Instantiate (lona el objeto oriinal ! devuelve el cloneInstantiate.\]%estro! 6limina un ameobject@ comonente o asset%estro!Immediate %estru!e el objeto inmediatamente.FindObjectsO#!e %evuelve una lista de objetos carados del mismo tioFindObjectO#!e %evuelve el rimer objeto activo del mismo tio

Oerador VV

  (omara si dos objetos >acen re#erencia al mismoOeradorV (omara si dos objetos no >acen re#erencia al mismo.%ont%estro!Onoad Lace ;ue el objeto de destino no se destru!a autom*ticamente

cuando se cara una nueva escena.

Page 41: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 41/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 41

a (omonentE>ereda de Object: 

6s  la 

clase base ara  todos  los comonentes ;ue 

van unidos a un ameObject. 6staclase >ereda todos los miembros de la clase Object anteriormente nombrados.

as variables son:

trans#orm 6l rans#orm ;ue est* unido al 8ameObject Enull si n  >a! unidoriidbod! 6l Riidbod! ;ue est* unido al 8ameObject Enull si no >a! unidocamera 6l (amera ;ue est* unido al 8ameObject Enull si no >a! unido

li>t 6l i>t ;ue est* unido al 8ameObject Enull si no >a! unidoanimation 6l Animation ;ue est* unido al 8ameObject Enull si no >a! unidoconstantForce 6l (onstantForce ;ue est* unid  al 8ameObject Enull si no >a!

unidorenderer 6l Renderer ;ue est* unido al 8ameObject Enull si n  >a! unidoaudio 6l Audioource ;ue est* unido al 8ameObject Enull si no >a!

unidouiet 6l 8'Iet ;ue est* unido al 8ameObject Enull si no >a! unidonetDorCMieD 6l etDorCMieD ;ue est* unido al 8ameObject Enull si n  >a!

unido

uieture 6l 8'Ieture ;ue est* unido al 8ameObject Enull si no >a! unidocollider 6l (ollider ;ue est* unido al 8ameObject Enull si no >a! unido>ineoint 6l Lineoint ;ue est* unido al 8ameObject Enull si no >a! unidoarticle6mitter 6l "article6mitter ;ue est* unido al 8ameObject Enull si n  >a!

unidoameObject 6l ame object al ;ue est*n unidos lo  comonentesta 6l ta de el ame object.

Page 42: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 42/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 42

as #unciones son: 

6n 'nit! >a! varias clases ;ue >eredan de la clase base (omonent. 6stas sone>aviour@ (lot>@ (ollider@ oint@ Ges>Filter@ OcclusionArea@ "articleAnimator@"article6mitter@ Renderer@ Riidbod!@ etGes>@ rans#orm ! ree.

8et(omonent %evuelve el comonente del tio o del nombre asad

or ar*metro si el objeto tiene unido aluno@ si no@devuelve null

8et(omonentIn(>ildren %evuelve el comonente del tio seleccionado delameObject o de aluno de sus >ijos usando la b9s;uedaen ro#undidad

8et(omonentsIn(>ildren %evuelve los comonentes del tio seleccionado del8ameObject o aluno de sus >ijos

8et(omonents %evuelve todos los comonentes del tio seleccionado;ue tiene el 8ameObject

(omarea 6ste 8ameObject est* eti;uetado como ta`

endGessae'Dards Invoca al m-todo llamado met>odame en cual;uierscrit de ese ameObject ! en todos los ancestros de elameObject

endGessae Invoca al m-todo llamado met>odame en cual;uierscrit de ese ameObject

roadcastGessae Invoca al m-todo llamado met>odame en cual;uierscrit de ese ameObject ! todos sus >ijos.

Page 43: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 43/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 43

e>aviour  E>ereda de (omonent: 

e>aviour 

son 

comonentes 

;ue 

se 

ueden 

>abilitar 

des>abilitar. 

olo 

contienenuna variable@ enabled@ ! con ella >abilitan o des>abilitan los comonentes.

"oseen muc>os miembros >eredados tanto de comonents como de object.

a siuiente imaen corresonde con el diarama de la clase e>aviour.

E1 Audioource E>ereda de e>aviour: 

A un 8ameObject se  le une un comonente Audioource ara reroducir m9sica de#ondo con tecnolo,a 3%. "ara reroducir sonidos 3% necesitas tener un Audioistener.6l 

Audioistener 

normalmente 

esta 

unido en 

la 

camera 

;ue 

el 

usuario 

utili?a. 

ossonidos est-reo son reroducidos siemre sin atenuación or la distancia.

"uede reroducir un 9nico cli de audio usando "la!@ "ause@ ! to. ambi-n@ uedesajustar el volumen del sonido con la roiedad volumen. e ueden reroducir

m9ltiles sonidos en uno utili?ando 

"la!One>ot. "uedes  reroducir sonidos en unaosición est*tica en el esacio 3% usando "la!(liAt"oint.

Page 44: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 44/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 44

as variables de la clase son:

as #unciones de la clase son: 

volume 6l volumen del audio sourceitc> 6l itc> del audio source

time Reroducción de la osición en seundostimeamles Reroducción de la osición en "(G samles.cli 6l Audio(li or de#ecto ara reroduciris"la!in 6l cli se est* reroduciendo correctamente`loo 6l cli de audio esta en un bucle`inoreistenerMolime >ace ;ue audio source no tena en cuenta el volumen de el

audio listenerla!OnADaCe i le asinamos true@ el audio source autom*ticamente

eme?ara a reroducirse dentro de aDaCevelocit!'dateGode i audio source debe ser actuali?ada en #ijos o dinamicos

anevel %etermina cuanta tecnolo,a 3% va a tener e#ecto en el canalb!ass6##ects 6l e#ecto b!ass6##ectdolerevel Indica la escala doler de el Audioourcesread 6stablece el *nulo de roaación del sonido.riorit! 6stablece la rioridad de el Audioourcemute ilencia  n  el audio. "ara silenciar muteV/min%istance a m,nima distancia a la ;ue dejara de aumentar el volumenma%istance a distancia m*ima a la ;ue el sonid  dejara de atenuarsean 6stablece canales an de #orma lineal. olo #unciona en 2% clirollo##Gode 6stablece o obtiene el mod  en el ;ue audiosource se atenua

#uera de distancia

"la! Reroduce el clito "ara de reroducir el cli"ause "ausa la reroducción"la!One>ot Reroduce un Audio(li8etOutut%ata %evuelve un blo;ue de datos outut de audio ;ue se est*n

reroduciendo

8etectrum%ata %evuelve un blo;ue de datos sectrum de audio ;ue se est*nreroduciendo

Page 45: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 45/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 45

E2  Audioistener E>ereda de e>aviour:

Reresenta a un  listener en el esacio 3%. 6ste comonente raba todos  los sonidos

;ue se reroducen a su alrededor ! los reroduce ara ;ue el usuario los escuc>e. olose uede tener un listener en cada escena.

"osee 

una 

variable velocit!'dateGode 

con 

la ;ue el 

audio 

listener uede seractuali?ado en #ijo o din*mico. (on volumen uedes controlar el volumen del  jueo !con ause uedes arar el estado del audio. i ause es true el audio no se oir*.

6l diarama es el siuiente:

E3  8'I6lement E>ereda de e>aviour: 

6s la clase b*sica ara im*enes ! teto mostrados en la inter#a? de usuario E8'I. 6staclase contiene todas las #uncionalidades de cual;uier elemento 8'I.

as #unciones son:

6sta clase >ereda dos clases imortantes:

Litest 6s un unto en la antalla dentro del elemento8etcreenRect %evuelve un rect*nulo ;ue delimita el 8'I6lement en

cordenadas de antalla

Page 46: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 46/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 46

Ea  8'Iet E>ereda de 8'I6lement:

6s una #rase de teto ;ue se muestra en un inter#a? E8'I.

as variables son:

Eb  8'Ieture E>ereda de 8'I6lement:

6s una tetura usada en 2% 8'I mediante una imaen.

(ontiene tres variables:

4  i>t E>ereda de e>aviour: 

6sta clase se usa ara controlar el asecto de  las  luces en 'nit!. as roiedades se

muestran tambi-n en el insector@ ! lo m*s usual es cambiar ! controlar los valores dela lu? mediante el insector@ aun;ue otras veces uede ser de utilidad modi#icar estosvalores en códio.

tet 6l teto ara mostrarmaterial 6l materia a usar en el renderi?adoielO##set os iel de desla?amiento del teto#ont a tiora#,a de letra ara el tetoalinment a alineación del tetoanc>or 6l anclaje del teto

lineacin 6l esacio interlinealtabi?e 6l tama+o del tabulador#onti?e 6l tama+o de #uente#ontt!le 6l estilo de #uente Ecursiva@ nerita@ 

color 6l color de la 8'I tetureteture a tetura a dibujar en antallaielInset 6s usada ara ajustar or tama+o ! osición

Page 47: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 47/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 47

as variables son:

0  Gonoe>aviour E>ereda de e>aviour:

6s la clase de la ;ue derivan o >eredan todos los scrit de la alicación.

(uando usas avascrit todos los scrits autom*ticamente derivan de Gonoe>aviour.in

 

embaro@ cuando utili?amos (5 

o oo@ tenemos ;ue eseci#icar 

;ue >ereda oderiva de Gonoe>aviour.

a 9nica variable ;ue maneja esta clase es use8'Ia!out@ ;ue se usa ara saltar la #asede dise+o de la 8'I@ des>abilitando esta variable.

t!e 6l tio de lu?

color 6l color de la lu?intensit! a intensidad ;ue es multilicada or el color de la lu?s>adoDs (omo ;uieres ;ue muestre las sombras`s>adoDtrent> a #uer?a de las sombras de la lu?s>adoDias ombra en iass>adoDo#tness a suavidad de las sombras de las luces direccionaless>adoDo#tnessFade a velocidad de suavidad de las sombrarane 6l rano al ;ue a#ecta la lu?sotAnle os *nulos de inclinación de la lu?cooCie la tetura cooCie ro!ectada or la lu?

#lare 6l #lare asset a usar ara esta lu?renderGode 6l modo de renderi?ar la lu?cullinGasC 6s usado ara iluminar artes de la escena selectivamente.

Page 48: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 48/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 48

as #unciones de la clase son:

%e las #unciones Overridable vamos a 

elicar 

las #unciones m*s imortantes ! m*sutili?adas en este ro!ecto.

  'date: 

6s 

la 

#unción 

llamada 

cada 

#rame@ 

siemre 

cuando 

Gonoe>aviour 

este>abilitado@ ! su

 

uso m*s com9n 

es ara 

imlementar el modo 

decomortamiento del jueo.

  Fied'date: 

6sta #unción es llamada 

cada #otorama 

#ijo 

de 

im*enes 

or 

seundo@ 

si elGonoe>aviour est* >abilitado. "uede resultar interesante

 

su uso@ en 

ve? 

de'date@ cuando se trabaja con un riidbod!@ si ;uiere alicar una #uer?a cada#otorama #ijo@ or ejemlo@ >*alo dentro de Fie'date@ en ve? de cada#rame dentro de 'date.

  ADaCe: 

6sta #unción es llamada cuando la instancia del scrit se est* carando. ueleutili?arse ara iniciali?ar variables o el estado del jueo antes de ;ue el jueocomience.

InvoCe Invoca el m-todo asado or ar*metro en  seundos

InvoCeReeatin Invoca el m-todo asado or ar*metro en  seundos(ancelInvoCe (ancela todas las llamadas a m-todo  en este Gonoe>aviourIsInvoCin La! aluna invocación de met>odame endiente`tart(oroutine 6mie?a un coroutineto(oroutine "ara todos los coroutine llamados met>odame ;ue est*n

corriendo en este be>aviourtoAll(oroutines "ara todos los coroutine ;ue est*n corriendo en este be>aviour

Page 49: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 49/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 49

  tart: 

6s 

llamada  justo antes de ;ue cual;uier m-todo 'date sea llamado or

rimera ve?. 6s llamado solo una ve? en la vida del e>aviour.

a ma!or,a del resto de #unciones como OnGouse6nter@ OnGouseOver@On(ollision6nter@ etc@ !a >an sido elicadas anteriormente or lo ;ue no ser*ntratadas de nuevo. a di#erencia entre tart ! ADaCe es ;ue tart es llamadosolamente si la instancia del scrit est* >abilitada.

ii 

(ollider E>ereda de (omonent: 

6s la clase #undamental de todos los colliders. os colliders son objetos ;ue detectancolisiones de otros objetos. La! cuatro tios de colliders:

  o(ollider: 6s un collider de #orma cuadranular ;ue osee dos variables ara reular su tama+o ! osición ;ue son center ! si?e.

  >ere(ollider: 

6s 

un 

collider 

con 

#orma 

es#-rica 

;ue 

tienes 

dos 

variables@ center ! radius ara con#iurar su tama+o ! osición.

  (asule(ollider:  6s un collider con #orma de casula ;ue tiene como variables de la clase: center@ radius@ >ei>t ! direction@ ara con#iurar la #orma.

  Ges>(ollider:  Ges>(ollider es un collider ;ue se adata a  la #orma del objeto al cual se alica.

a clase collider contiene las siuientes variables:

attac>edRiidbod! 6l riidbod! al cual est* unido el colliderisrier 6s trier este collider`material 6l material usado or el colliders>aredGaterial 6l material ara comartir de el colliderbounds 6l volumen ;ue delimita el colisionador Ecollider

Page 50: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 50/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 50

as #unciones de la clase:

iii  "articleAnimator E>ereda de comonent: 

6ste 

comonente es el encarado de 

mover las art,culas en 

el  tiemo@ se 

usa araalicar viento@ #uer?as de arrastre ! color a los sistemas de art,culas. 6sta clase es unscrit ara un comonente de animación de art,culas.

as variables de la clase son:

iv 

"article6mitter  E>ereda de comonent: 

6s 

un 

scrit 

de 

inter#a? 

ara 

emitir 

art,culas. 

anto 

"article6mitter 

como

"articleAnimator 

son 

scrits 

;ue 

se 

ueden 

modi#icar 

en 

el 

inter#a? 

de 

'nit! 

en 

laventana insector o en el scrit.

(losest"ointOnounds 6l unto m*s cercano la caja de delimitación del collider

adjuntoRa!cast an?a un ra! ;ue asa or alto todos los collider eceto este

doesAnimate(olor Lace ciclar su color durante toda la vida de la articula`DorldRotationAis Alrededor de ;ue eje del mundo de las art,culas rotalocalRotationAis Alrededor de ;ue eje local de las art,culas rota.si?e8roD (omo las art,culas aumentan el tama+o durante su vidarndForce 'na #uer?a aleatoria es alicada a las art,culas en tod  #rame#orce a #uer?a alicada a las art,culas en todo #ramedamin (omo de lentas son cada ve? m*s las art,culas

autodestruct %estru!e el ameobject de este animador de art,culascolorAnimation 6l color de las art,culas ;ue utili?aran durante su vida

Page 51: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 51/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 51

as variables de la clase  son:

as #unciones son:

emit "ermite a las art,culas ser emitidas autom*ticamente cada#rame

mini?e 6l minimo tama+o ;ue uede tener cada articulamai?e 6l m*imo tama+o ;ue uede tener cada articulamin6ner! 6l minimo tiemo de vida de cada articulama6ner! 6l m*imo tiemo de vida de cada articulamin6mission 6l m,nimo n9mero de art,culas emitidas or seundoma6mission 6l m*imo n9mero de art,culas emitidas or seundoemitterMelocit!cale Aumenta la velocidad de las art,culas emitidasDorldMelocit! a velocidad inicial de las art,culas en los ejes H@ P@  lobales

localMelocit! a velocidad inicial de las art,culas en los ejes H@ P@  localesrndMelocit! 'na velocidad aleatoria ;ue es a+adida sobre los ejes H@ P@ useorldace si est* >abilitada@ cuando mueves el editor las art,culas no se

mueven@ si est* des>abilitada@ si ;ue se mueven.rndRotation i est* >abilitada@ las art,culas se mueven con rotación

aleatoriaanularMelocit! a velocidad anular de las nuevas art,culas en radosrndAnularMelocit! 'na nueva velocidad anular ;ue modi#ica las nuevas art,culasarticles %evuelve una coia de todas las art,culas ! asina un arra! de

todas las art,culas ;ue est*n actualmente corriendo.

article(ount 6l n9mero de art,culas ;ue corren.enabled Labilita  des>abilita la emisión de art,culas

(lear"articles 6limina todas las art,culas del sistema

6mit 6mite un numero de art,culasimulate Avance del sistema de art,culas 

simulado con tiemodeterminado

Page 52: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 52/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 52

Riidbod! E>erada de comonent: 

clase 

Riidbod! controla 

la 

osición 

de 

los 

objetos 

en 

una 

simulación 

#,sica. os

comonentes Riidbod! tienen  la  #unción de controlar  la osición de  los objetos@ decontrolar si al objeto le a#ectar* o no la #uer?a ravitatoria@ ! calcular como resondenlos objetos ante colisiones.

(uando maniulas los ar*metros de un Riidbod!@  es recomendable trabajar sobre la#unción Fied'date como !a comentamos anteriormente.

'n unto a tener en cuenta cuando utili?amos los riidbod!s es:

i la simulación se observa en c*mara lenta ! no solida:

6s un roblema de escala. (uando el mundo del  jueo es tan rande como arece semueve mu! desacio. Ase9rese de ;ue todos tus modelos se encuentran el tama+odel mundo real. "or ejemlo@ si un coc>e mide aroimadamente 4 metros de laro !en el

 

 jueo lo 

onemos a 

2 metros@ 

el 

objeto 

mantendr* 

el 

eso del 

objeto de dosmetros ! la simulación de la ca,da os corresonder* con la de un coc>e de dos metros! 

arecer* 

;ue 

cae 

c*mara 

lenta. 

"or 

eso 

es 

mejor 

mantener 

el 

tama+o 

de 

losobjetos del mundo real.

Page 53: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 53/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 53

as variables de la clase son:

velocit! 6l vector de velocidad del riidbod!anularMelocit! a velocidad anular del riidbod!dra 6l arrastreanular%ra 6l arrastra anular de el objetomass 6l eso o masa del objetouse8ravit! (ontrolas si le a#ecta o no la ravedadisBinematic (ontrolas si la #,sica a#ecta al riidbod!#ree?eRotation (ontrolas si la #,sica a#ectar* al cambio de rotación del

objetoconstraints (ontrola ;ue rados de libertad son ermitidos en la

simulación del ese Riidbod!collision%etectionGode 6l modo de detección de las colisionescenterO#Gass 6l centro de masa relativo al trans#rom oriinalDorld(enterO#Gass 6l centro de masa del riidbod! en el Dorld saceinertiaensorRotation a rotación del tensor de inerciainertiaensor 6l tensor diaonal de inercia de masa relativa ara el centro

de masadetect(ollisions 6st* >abilitada la detección de colisiones`use(oneFriction a #ricción de la Fuer?a de cono ;ue se utili?ar* ara este

riidbod!

osition a osición del 

riidbod!rotation a rotación del riidbod!interolation e ermite suavi?ar el e#ecto de la #,sica corriendo a una

velocidad #ijasolverIteration(ount e ermite anular el n9mero de iteraciones solucionadas

or riidbod!sleeMelocit! a velocidad linear@ or debajo del cual los objetos

comien?an a dormirsleeAnularMelocit! a velocidad anular@ or debajo la cual lo  objetos

comien?an a dormir

maAnularMelocit! a m*ima velocidad anular de un riidbod!

Page 54: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 54/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 54

as #unciones son:

6sta clase tiene las #unciones On(ollision6nter@ On(ollision6it ! On(ollisionta!@ araenviar mensajes a otros objetos sobre las colisiones ;ue >a!an tenido.

vi 

rans#orm  E>ereda de (omonent ! I6numerable:  

odo objeto en una escena tiene un comonente rans#orm. 6s usado ara almacenar! maniular la osición@ rotación ! escala de los objetos. odo rans#orm uede tener unarent Eadre@ ;ue te ermite cambiar ! alicar la osición@ rotación ! la escala

 jer*r;uicamente@ en el anel de erar;u,a ELierac>!.

et%ensit! 6stablece la masa sobre la base de los colliders adjunta

asumiendo una densidad constante.AddForce A+ade #uer?a a el riidbod!AddRelativeForce A+ade una #uer?a relativa a las coordenadas del sistema

del riidbod!Addor;ue A+ade un tor;ue al riidbod!AddRelativeor;ue a+ade un tor;ue al riidbo#! relativo a las coordenadas del

sistemaAddForceAt"osition A+ade una #uer?a en una osiciónAdd6losionForce imula una elosión ! alica la #uer?a corresondiente al

riidbod!

(losest"ointOnounds 6l unt  m*s cercano a la caja de detección de colisiones8etRelative"ointMelocit! a velocidad del riidbod! relativa al unto relative"oint8et"ointMelocit! a velocidad de un riidbod! en un unt  del Dorld saceGove"osition Gueve el riidbod! a ositionGoveRotation Rota el riidbod! a rotationlee Fuer?a al riidbod! a dormir or lo menos un #rameIsleein 6sta durmiendo`aCe' Fuer?a al riidbod! a desertarDeeest (omrueba si riidbod! a colisionado con aluienDeeestAll (omo el anterior@ ero devuelve todo  los oles.

Page 55: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 55/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 55

as variables son:

as #unciones son:

osition a osición del trans#orm en el Dorld sacelocal"osition a osición del trans#orm en el local saceeulerAnles a rotación en rados 6ulerlocal6ulerAnles a rotación en rados 6uler relativos a la rotación del adreri>t 6l eje rojo en el trans#orm Dorld saceu 6l eje verde en el trans#orm Dorld sace#orDard 6l eje a?ul en el trans#orm Dorld sacerotation a rotación del el trans#orm en el Dorld sace almacenada

como un QuaternionlocalRotation a rotación del trans#orm relativa a la rotación del adrelocalcale a escala del trans#orm relativa al adrearent 6l adre del trans#ormDorldoocalGatri Gatri? ;ue trans#orma un unto del Dorld sace dentro de local

sacelocaloorldGatri Inverso ;ue la anteriorroot %evuelve trans#orm ra,? de los trans#orm ;ue >a! en Lierarc>!c>ild(ount 6l n9mero de >ijos de trans#orm ;ue >a!.loss!cale a scala lobal del objeto

ranslate Gueve el trans#orm en dirección ! distancia de traslaciónRotate Alica la rotaciónRotateAround Rota alrededor de un unto de coordenadasooCAt Rota el trans#orm de modo ;ue el vector aunte >acia

adelante a un objetorans#orm%irection rans#orma la dirección del local sace a Dorld saceInverserans#orm%irection Inversa ;ue la #unción anteriorrans#orm"oint rans#orm la osición del local sace a Dorld saceInverserans#orm"oint a inversa ;ue la #unción anterior%etac>(>ildren Quitar el adre a todos los >ijosFind 6ncuentra un >ijo or nombre ! lo devuelveIs(>ildO# 6s este trans#orm >ijo del adre`

Page 56: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 56/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 56

8ameObject E>ereda de Object:

6sta clase es la clase lantilla ara todas las entidades de las escenas en 'nit!.

as variables son  casi las mismas ;ue 

la clase comonent:

istatic 6seci#ica si el ame Object es estatico o notrans#orm 6l rans#orm ;ue est* unido al 8ameObject Enull si n  >a! unidoriidbod! 6l Riidbod! ;ue est* unido al 8ameObject Enull si no >a! unido

camera 6l (amera ;ue est* unido al 8ameObject Enull si no >a! unidoli>t 6l i>t ;ue est* unido al 8ameObject Enull si no >a! unidoanimation 6l Animation ;ue est* unido al 8ameObject Enull si no >a! unidoconstantForce 6l (onstantForce ;ue est* unid  al 8ameObject Enull si no >a!

unidorenderer 6l Renderer ;ue est* unido al 8ameObject Enull si n  >a! unidoaudio 6l Audioource ;ue est* unido al 8ameObject Enull si no >a!

unidouiet 6l 8'Iet ;ue est* unido al 8ameObject Enull si no >a! unidonetDorCMieD 6l etDorCMieD ;ue est* unido al 8ameObject Enull si n  >a!

unidouieture 6l 8'Ieture ;ue est* unido al 8ameObject Enull si no >a! unidocollider 6l (ollider ;ue est* unido al 8ameObject Enull si no >a! unido>ineoint 6l Lineoint ;ue est* unido al 8ameObject Enull si no >a! unidoarticle6mitter 6l "article6mitter ;ue est* unido al 8ameObject Enull si n  >a!

unidoameObject 6l ame object al ;ue est*n unidos lo  comonentesta 6l ta del ame object.

Page 57: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 57/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 57

6l constructor de 

la clase 

es 8ameObject@ 

;ue 

crea un 

nuevo 

objeto 

llamadonameEnombre asado or ar*metro. 

as #unciones de la clase:

8et(omonent %evuelve el comonente del tio o del nombre asador ar*metro si el objeto tiene unido aluno@ si no@devuelve null

8et(omonentIn(>ildren %evuelve el comonente del tio seleccionado delameObject o de aluno de sus >ijos usando la b9s;ueda

en ro#undidad8et(omonentsIn(>ildren %evuelve los comonentes del tio seleccionado del8ameObject o aluno de sus >ijos

8et(omonents %evuelve todos los comonentes del tio seleccionado;ue tiene el 8ameObject

etActiveRecursivel! (ambia el estado a activo de todos los >ijos delameObject

(omarea 6ste 8ameObject est* eti;uetado como ta`endGessae'Dards Invoca al m-todo llamado met>odame en cual;uier

scrit de ese ameObject ! en todos los ancestros de el

ameObjectendGessae Invoca al m-todo llamado met>odame en cual;uierscrit de ese ameObject

roadcastGessae Invoca al m-todo llamado met>odame en cual;uierscrit de ese ameObject ! todos sus >ijos.

Add(omonent A+ade un comonente de la clase classame al ameobject

amleAnimation Guestra una animación en un momento dado de lasroiedades de animación.

Page 58: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 58/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 58

Funciones de la clase: 

c eture E>ereda de Object:

6s 

la 

clase 

base 

ara 

el 

manejo 

de 

las 

teturas. 

(ontiene 

#uncionalidades 

;ue 

soncomunes en las clases eture2% ! Rendereture.

as variables de la clase son:

a clase contiene la 

#unción 8etativeetureI% ;ue recuera 

el 

<>ardDare= nativoara manejar una tetura.

7  Ra! Eestructura: 

6s  la  reresentación de  los  ra!s. 'n  ra! es una  l,nea  in#inita ;ue comien?a en oriinEorien ! va en cual;uier dirección 

as variables son oriin Eel unto de orien del ra! ! direction Ela dirección del ra!.

6l constructor es Ra!@ crea un ra! ;ue comien?a en oriin >acia direction.

(reate"rimitive (rea un ame object con una tetura de renderi?ado ! sucollider asociado

Findit>a %evuelve el 8ameObject activo eti;uetados con ta.Find8ameObjectsit>a %evuelve una lista de 8ameObjects eti;uetados con taFind usca un ame object or nombre Ename

Didt> a anc>ura de la tetura en ieles>ei>t a altura de la tetura en ieles#ilterGode 6l modo de #iltro alicado a la teturaanisoevel ivel de Anisotroic #iltro ara la tetura

DraGode 6nvuelve el tio de la tetura EReeat o (lammiGaias Gi ma bias de la tetura

Page 59: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 59/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 59

as  #unciones son 8et"oint@ ;ue devuelve el unto en  las unidades de distancia a  lolaro del ra!o@ ! otrin ;ue devuelve una cadena Estrin sobre el ra!o con un

#ormato entendible.

$  Ra!castLit Eestructura: 6s una estructura usada ara obtener in#ormación sobre un ra!cast.

as variables son las siuientes 

&  creen: 6s usada ara obtener

 

in#ormación sobre la 

antalla@ una lista de 

resolucionessoortadas@ la resolución actual@ etc.

as variables de la clase son:

oint 6l unto de imacto sobre el Dorld sace donde el ra! oleaal collider

normal a normal ;ue sobre sale del ole del ra!bar!centric(oordinate a coordenada bar!centric del trianulo ;ue oleadistance a distancia del orien al unt  de imactotrianleInde 6l ,ndice del trianulo ;ue >a sido oleadoteture(oord a tetura uv ;ue cordina el unto de imactoteture(oord2 a tetura uv secundaria ;ue coordina el unt  de imactoli>tma(oord 6l uv li>tma ;ue coordina el unto de imactocollider 6l collider ;ue >a sido oleadriidbod! 6l Riidbod! del collider ;ue >a sido oleadotrans#orm 6l trans#orm del riidbod! o el collider ;ue >a sid  oleado

resolutions odas las resoluciones soortadas or el monitor

currentResolution a actual resolucións>oD(ursor Gostramos el cursor`locC(ursor lo;ueamos el cursor`Didt> a anc>ura actual de la antalla en ,eles>ei>t a altura actual de la antalla en ,eles#ullcreen 6sta el  jueo utili?ando toda la antalla`orientation 6seci#ica la orientación lóica de la antalla

Page 60: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 60/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 60

a #unción de la clase es etResolution con la cual uedes cambiar de resolución a tu jueo.

1/  ime:6l inter#a? ara obtener in#ormación sobre el tiemo en 'nit!.as variables de la clase:

11  ouc> Eestructura: 6s una estructura en la ;ue se describe el estado de el to;ue de una dedo en laantalla.

as variables son:

time 6l tiemo en el cual el #rame >a comen?ado. e cuenta enseundos desde ;ue el  jueo >a comen?ado

timeinceeveload 6l tiemo en el cual el #rame >a comen?ado. e cuenta desde;ue el ultimo nivel >a sido carado

deltaime 6l tiemo en seundos ;ue tardo en comletar el ultimo #rame

#iedime 6l tiemo en el cual el 9ltimo Fied'date >a eme?ado#ied%eltaime 6l intervalo de tiemo en el cual >!sics ! otros #ied #ramerate udates se llevan a cabo

maimun%eltaime 6l tiemo m*imo ;ue un #rame uede tomarsmoot>%eltaime A smoot>ed out ime.deltaimetimecale a escala en la ;ue se asa el tiemo#rame(ount 6 n9mero total de #rames ;ue >an sido asadosrealtimeincetartu 6l tiemo real en seundo  desde ;ue el  jueo >a comen?adocatureFramerate i catureFramerate es iniciali?ado con una valor ma!or ;ue /

el tiemo avan?a en .

#inerId 6l identi#icador 9nico del touc>osition a osición del touc>

delta"osition a osición delta desde el 9ltimo cambiodeltaime Acumulación de tiemo asado desde el 9ltimo cambiota(ount umero de tas>ase %escribe la #ase del touc>

Page 61: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 61/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 61

12  Mector3 Eestructura:  6s la reresentación de vectores 3% ! untos.

6sta estructura es usada ara asar la osición 3% ! la dirección.

as variables:

6l constructor de la clase es Mector3@ crea un nuevo vector con las comonentes @ !@ ?.

as #unciones son:

as variables de la clase:

a clase contiene otras #unciones ;ue se utili?an ara oerar entre vectores@ como ennuestro ro!ecto no >emos utili?ado estas #unciones no las vamos a elicar.

6l comonente  del vector! 6l comonente ! del vector? 6l comonente ? del vectort>isWint indeX Accede a los comonente  @ !@ ? utili?ando W/X@ W1X@ W2X

resectivamentenormali?ed %evuelve el vector con manitud de 1manitude %evuelve la etensión del vectors;rGanitud %evuelve la lonitud al cuadrado de este vector

cale Gultilica todo  los comonentes or el mismo comonentes de escalaormali?e (rea un vector con manitud 1otrin %evuelve una cadena sobre el vector

?ero (rea el vector Mector3E/@ /@ /one (rea el vector Mector3E1@ 1@ 1#orDard (rea el vector Mector3E/@ /@ 1u (rea el vector Mector3E/@ 1@ /ri>t (rea el vector Mector3E1@ /@ /

Page 62: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 62/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 62

•  3.2 G-todo de comilación ! ejecución de la  alicación de 'nit! 3d en Android 

'na ve? vistas ! elicadas cada una de las clases utili?adas en la alicación@ 

vamos aelicar el roceso a seuir ara ;ue nuestra alicación corra en un disositivo con android.

o rimero ;ue vamos a necesitar es una licencia de 'nit! 3d ara Android@ !a ;ue sinono odremos ublicar las alicaciones ;ue >aamos.'na ve? tenamos el ro!ecto listo ara comilarlo Etodas las escenas ;ue comonen el

 jueo !a est*n listas ara ser comiladas correctamente tenemos ;ue descarar el %Bde Android ! roceder a su instalación.'na ve? est- instalado el %B de Android !a tenemos todo lo necesario ara oder

comilar la alicación ara Android.6n 'nit! vamos a la esta+a File ! le damos a <build settins= ! nos aarecer* la siuienteantalla

Page 63: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 63/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 63

(omo se uede areciar@ disonemos de varias lata#ormas osibles ara eleir a la >orade comilar@ en mi caso est* claro ;ue eleir- Android ! a>ora le do! al botón de la!ersettins ara con#iurar los di#erentes ar*metros de mi alicación en Android.

Al darle a este botón vemos la siuiente imaen:

(omo vemos tenemos ;ue oner el nombre de la coma+,a@ el t,tulo de la alicación ! unicono si ;ueremos oner una imaen en articular@ sino 'nit! one la ;ue trae or

de#ecto.%esu-s tenemos ;ue eleir la orientación ;ue va a tener nuestra alicación en Android !uede ser vertical@ >ori?ontal o auto rotación de manera ;ue cuando ires el móvil secambie de vertical a >ori?ontal ! viceversa. 6n mi caso el jueo se arecia muc>o mejor en>ori?ontal@ de manera ;ue lo ondr- como >ori?ontal.

Page 64: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 64/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 64

a otra arte imortante ;ue tenemos ;ue con#iurar es la de ot>er settins ;ue vemosen la siuiente imaen:

6n bundle identi#ier debemos eseci#icar el nombre del a;uete@ siemre esrecomendable dejar el com. %e manera ;ue el nombre del a;uete ser,acom.nombredeemresa.roductoA>ora >a! ;ue eleir la A"I m,nima ara Android@ si onemos una in#erior a 2.2 no nosservir*@ >a! ;ue eleir una suerior@ como odemos ver !o >e eleido 2.3

Page 65: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 65/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 65

a oción de %evice Filter nos ermite eleir entre tres ociones ero nos ;uedamos conla rimera uesto ;ue las otras son ara asar la alicación a un emulador ! la rimera<ARGv7 onl!= es ara asar la alicación directamente al móvil.

"or 9ltimo en ublis>in settins vemos la siuiente antalla:

A;u, simlemente tenemos ;ue oner nuestra licencia de Android ara ;ue la alicaciónse ueda ublicar.A>ora est* todo listo ara comilar la alicación de manera ;ue le damos a build !

eleimos la careta de destino donde se va a uardar nuestro arc>ivo .aC ;ue es laetensión de las alicaciones ara Android.6n mitad de la comilación se nos edir* indicar el directorio donde instalamosanteriormente el %B de Android ara ;ue use las librer,as ! arc>ivos necesarios aracomilar correctamente la alicación.

'na ve? le >a!amos indicado donde tenemos instalado el %B de Android la comilaciónterminar* correctamente si no tenemos #allos en nuestra alicación ! estar* lista araasarla al móvil ! roceder a instalarla ! usarla.

Page 66: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 66/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 66

3.3.An*lisis: 

•  An*lisis  de re;uisitos 

A continuación vamos a ver los re;uisitos roios de cada escena de nuestro jueo.6l jueo constar* de dos escenas@ una ser* la arte del men9 roiamente dic>a ! otra esla escena en la ;ue transcurrir* el jueo en si.

6scena del men9:•  e dividir* en dos artes@ un rimer men9 ;ue constar* de las ociones de juar ! salir

de la alicación@ ! el otro men9 ;ue se llear* a -l d*ndole al botón de juar ;ueconstar* de el botón de 1 juador@ el botón controles ! el botón atr*s. %*ndole al

botón de 1 juador asaremos a la seunda escena@ en controles veremos como se juea ! el botón atr*s nos ermite volver al men9 anterior.

•  a #orma de ulsar los botones ser* t*ctil@ dando un to;ue sobre aluno de losbotones reali?aremos la acción.

•  os men9s tendr*n e#ectos ara darles una mejor aariencia como veremososteriormente cuando describamos todos los objetos de esta escena.

6scena del jueo:

•  6l jueo consistir* en manejar un tan;ue cu!a misión es reali?ar un recorrido or elmaa en 3d de una >abitación ! llear a la meta en el menor tiemo osible@>abiendo destruido el ma!or n9mero de objetos osible ara obtener una ma!oruntuación.

•  "ara moverse con el tan;ue usaremos el sticC analóico i?;uierdo ! ara mover elca+ón ! auntar a los objetivos usaremos el sticC derec>o.

•  a escena osee varios botones@ uno ara cambiar la vista de la c*mara ! eleir la;ue mas se ajuste a nuestro usto ara manejar el tan;ue ! auntar a los objetivos@otro ara disarar a los objetivos@ otro ara ausar el jueo@ otro ara ver loscontroles or si no sabemos como manejar el tan;ue ! otro ara renacer or si nos>emos desviado o ;uedado atrancados odamos volver al 9ltimo unto ;ue el

 jueo detectó ;ue >ab,amos asado.

•  ambi-n disondremos de un temori?ador ! de un marcador ;ue indi;ue eltiemo restante ! los untos ;ue llevamos resectivamente.

Page 67: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 67/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 67

•  "or 9ltimo al acabarse el tiemo nos saldr* un men9 diciendo ;ue nuestro tiemose >a aotado ! dos botones@ uno ara salir del jueo ! otro ara volver al men9rincial.

•  o mismo si lleamos a tiemo a la meta@ nos saldr* un men9 indicando launtuación obtenida ! los dos botones descritos en el unto anterior.

%iaramas de estado de la  alicación: 

%iarama de estado de la  escena del men9 rincial: 

%iarama del men9 rincial con las di#erentes ociones osibles ara >acer.

Page 68: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 68/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 68

%iarama de estado de la escena de la escena del jueo:

%iarama de la escena del jueo con las ociones osibles a reali?ar ! los estados a los;ue lleamos al ulsar cada botón.

Page 69: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 69/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 69

3.4.%ise+o e Imlementación: 

6n este aartado vamos a  ir elicando cómo >emos reali?ado  la  imlementación denuestro ro!ecto or escenas.

6scena del Gen9: 

A continuación elicaremos los diversos objetos ;ue #orman la escena del men9 rincial as,como sus #unciones ! caracter,sticas.

Meamos el es;uema de objetos inicial de la escena men9 <menu=:

6n 

esta 

imaen 

aarecen 

todos 

los 

objetos@ ordenados 

al#ab-ticamente@ 

;ue 

seencuentran

 

en 

escena. 

os 

objetos 

ueden 

destruirse 

desaarecer 

de 

la 

lista@ 

odes>abilitarse@ en este caso el nombre del objeto tomara un tono ris. os objetos de

Page 70: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 70/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 70

a?ul 

de la 

lista 

son objetos 

;ue est*n re#abricados 

;ue >an sido a+adidos 

la

escena. 6sto resulta 9til cuando vas a utili?ar los mismos objetos en di#erentes escenas@ara no tener ;ue crear en cada escena un objeto nuevo.

6l rimer objeto ;ue odemos ver en el >istorial es (ameraLolder@ contiene los objetos ;ue semuestra a continuación

6l objeto Camera es el encarado de mostrar la escena. 6n una escena siemredebemos tener al menos una c*mara ara oder ver la escena al darle al eme?ar el

 jueo.

Page 71: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 71/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 71

(on el comonente rans#orm controlamos la osición de la c*mara ! orconsiuiente el *nulo ! la ersectiva ;ue ;ueremos ver en nuestro jueo. 6n el

comonente (amera se uede con#iurar varios atributos de la c*mara@ ara obtenerdi#erentes resultados. 6n mi alicación el valor ;ue >e modi#icado rincialmente es<Field o# MieD= con el ;ue con#iuras la distancia #ocal@ de este modo obtienes ;ue losobjetos se vean m*s o menos lejos a esar de ;ue se encuentren en la misma osición.i deseamos@ con el comonente 8'Ia!er odemos introducir a la imaen resultantede la escena comonentes de la inter#a? de 'nit!.

Page 72: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 72/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 72

Otro imortante es Audio istener:6s el recetor de sonidos de la escena@ a trav-s de este comonente los sonidos;ue roducen otros objetos ser*n escuc>ados. 6l sonido de 'nit! est* con#iurado

tridimensionalmente@ con esto ;uiero decir ;ue deendiendo donde se encuentre elemisor de sonidoEAudio 6mitter ! el recetor EAudio istener@ el sonido se escuc>ar*m*s o menos se9n la distancia."ara conseuir ;ue la c*mara sia o mire a alo en concreto@ >emos utili?ado el scritGouseOrbit como se uede ver en el dibujo@ ! lo ;ue >ace es mediante este códio

Page 73: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 73/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 73

(on este scrit le indicamos ;ue sia al objeto ;ue onamos en la variable taret Eenmi caso (ameraaret ;ue le mire desde la distancia 1/. i ;uisi-ramos odr,amosindicarle ;ue sia al objeto en cuestión.

6l objeto titulo simlemente es un objeto ;ue mostrar* el t,tulo del jueo.

(uando tienes seleccionado un objeto en la lista de la vista Lierarc>!@ aarecen todoslos comonentes ;ue contiene el objeto en la vista Insector. (omo odemosobservar en esta imaen@ este es la vista Insector del objeto titulo. "osee elcomonente rans#orm con el cual uedes controlar la osición ! rotación del objetoen escena.

Page 74: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 74/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 74

o (ollider es utili?ado ara detectar colisiones ero en esta escena estecomonente no ser* relevante !a ;ue no vamos a controlar ninuna colisión deobjetos contra la ared. (omo se uede observar en el comonente Ges> Renderer@

la ared est* con#iurada ara recibir sombras ! vemos ;ue tiene asinada unatetura.(uando se asina una tetura a un objeto@ se crea un directorio en la careta ra,? de laescena con los materiales de los objetos ! se crea un material con la tetura asinada.

(omo vemos disonemos de otro objeto dentro de titulo con el mismo nombre@ ! estelo ;ue >ace es escribir el teto del titulo !a ;ue el anterior sólo era un recuadro conuna tetura en donde va el t,tulo. (omo vemos en et Ges> indicamos el tio de letra

;ue vamos a oner ! el tama+o deseado.

6l siuiente objeto en la lista desu-s de (amera Lolder es(ameraaret6tended"ivot ! contiene al objeto (ameraaret ;ue es a lo ;ue va aauntar nuestro objeto (amera@ como odemos ver en la imaen corresondientea la c*mara ;ue >emos elicado anteriormente.

Page 75: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 75/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 75

os dos siuientes elementos se llaman %a!li>t ater ! su uso simlemente es ara darun e#ecto relativo a las ondas de aua al men9.

(omo se uede observar el >ader !a viene con 'nit! 3% ! se ueden con#iurar la escalade las ondas o la re#racción entre otros ar*metros. A continuación vamos a ver ladi#erencia ;ue >a! entre ver el men9 con estos dos objetos des>abilitados ! desu-s conlos objetos >abilitados ara ver la di#erencia ;ue >a!.

Page 76: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 76/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 76

(omo vemos los botones son mu! simles as, ;ue alicaremos el e#ecto sobre el  men9 ! ;ueda de la siuiente manera:

(omo odemos ver el e#ecto es mu! notorio ! le da un to;ue bastante curioso al men9de manera ;ue a>ora se ve como si #ueran ondas de aua ! con un e#ecto transarente;ue ;ueda mu! bien.

Page 77: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 77/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 77

6l siuiente objeto ;ue vemos es <>abi/1ma/1= este es un objeto mu! imortanteen nuestro jueo !a ;ue osee todos los objetos ;ue comonen el escenario 3% de

nuestro jueo@ como odemos ver >a! muc>os objetos cada uno sus teturascorresondientes ! sus colliders ara detectar colisiones.

(omo odemos ver >a! numerosos objetos ;ue #orman la >abitación al comleto@desde el suelo de la >abitación@ las aredes@ una cama etc. a >abitación >a sido

creada con otros roramas orientados al dise+o 3% ;ue son -uto'es. /ds "a&Eantes conocido como /' tudio "a& ! "aya.

AutodesC 3ds Ga es un rorama de creación de r*#icos ! animación 3%desarrollado or AutodesC@ en concreto or la división AutodesC Gedia 6ntertaiment Eanteriormente %iscreet. (reado inicialmente or el ruo Post araAutodesC@ salió a la venta or rimera ve? en 1&&/ ara %O.

Page 78: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 78/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 78

3ds Ga@ con su ar;uitectura basada en luins@ es uno de los roramas deanimación 3% m*s utili?ado@ esecialmente ara la creación de video jueos@anuncios de televisión@ en ar;uitectura o en el,culas.

3ds Ga es uno de los roramas de animación 3% m*s utili?ados. %isone de unasólida caacidad de edición@ una omniresente ar;uitectura de luins ! una laratradición en lata#ormas Gicroso#t indoDs. 3ds Ga es utili?ado en ma!or medidaor los desarrolladores de videojueos@ aun;ue tambi-n en el desarrollo dero!ectos de animación como el,culas o anuncios de televisión@ e#ectos eseciales !en ar;uitectura.%esde la rimera versión 1./ >asta la 4./ el rorama ertenec,a a AutodesC con elnombre de 3d tudio. G*s tarde@ Bineti comró los derec>os del rorama ! lan?ó 3versiones desde la 1./ >asta la 2.0 bajo el nombre de 3d tudio Ga. G*s tarde@ laemresa %iscreet comró los derec>os@ retomando la #amilia eme?ada orAutodesC desde la 4./ >asta )./ tambi-n bajo el nombre de 3d tudio Ga.Finalmente@ AutodesC retomó el rorama desarroll*ndolo desde la versión 7./ enadelante bajo el mismo nombre@ >asta la versión &. A artir de -sta@ se denominaAutodesC 3d tudio Ga.

Page 79: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 79/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 79

6ste rorama es uno de los m*s reconocidos modeladores de 3d masivo@>abitualmente orientado al desarrollo de videojueos@ con el ;ue se >an >ec>oenteramente t,tulos como las saas omb Raiderf@ linter (ellf ! una lara lista de

t,tulos de la emresa 'biso#t.

"or otro lado@ tambi-n >e utili?ado el rorama "aya0 es un rorama in#orm*ticodedicado al desarrollo de r*#icos en 3d@ e#ectos eseciales ! animación. urió aartir de la evolución de "oDer Animator ! de la #usión de Alias ! ave#ront@ dosemresas canadienses dedicadas a los r*#icos enerados or ordenador. G*s tardeilicon 8ra>ics Ea>ora 8I@ el iante in#orm*tico@ absorbió a AliasNave#ront@ ;ue#inalmente >a sido absorbida or AutodesC.

Ga!a se caracteri?a or su otencia ! las osibilidades de eansión !ersonali?ación de su inter#a? ! >erramientasf. G6 EGa!a 6mbedded anuae esel códio ;ue #orma el n9cleo de Ga!a@ ! racias al cual se ueden crear scrits !ersonali?ar el a;uete. 6l rorama osee diversas >erramientas ara modelado@animación@ render@ simulación de roa ! cabello@ din*micas Esimulación de #luidos@etc.

Adem*s "aya es el 9nico so#tDare de 3% acreditado con un Oscar racias al enormeimacto ;ue >a tenido en la industria cinemator*#ica como >erramienta de e#ectosvisuales@ con un uso mu! etendido debido a su ran caacidad de amliación !

ersonali?ación.Ga!a trabaja con cual;uier tio de suer#icie 'R@ "ol!ons ! ubdivisionur#aces@ inclu!e la osibilidad de convertir entre todos los tios de eometr,a.

  1urbs: on #iuras creadas a base de curvas ! suer#icies cu!os comonentesson b*sicamente los (Mfs Econtrol verte@ las isoarms Eisoaram-tricas ! los>ulls Eloos enteros de isoarms.

  Poly$ons: on los objetos m*s #*ciles de modelar or su #alta de comlejidad! su ma!or n9mero de >erramientas. us comonentes b*sicas son las FacesEcaras@ 6des Earistas ! Merte Ev-rtices.

  ubdivisiones: on un >,brido entre las urbs ! los "ol!ons. in embaro nose ueden modelar usando ambos estilos a la ve?@ ara ello >a! ;ue escoeren ;u- modo se desea modelar Etandard Gode o "ol!on Gode. "oseen losmismos comonentes ;ue las urbs ! los "ol!ons adem*s de un modo dere#inamiento or niveles ara obtener ma!or subdivisión eom-trica !conseuir as, ma!or detalle de modelado.

Page 80: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 80/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 80

(on el "aya es con el ;ue >e reali?ado todo el trabajo de dise+o 3d@ los objetos nolos >e >ec>o !o desde / !a ;ue este ro!ecto consist,a en elaborar un jueo en'nit! 3% ara Android@ as, ;ue la ma!or,a los >e bajado ! con este rorama lo ;ue>e >ec>o es reducir los ol,onos aristas ! v-rtices al m*imo ! >e ido juntando losobjetos Euertas@ ventanas@ cama@ silla... >asta terminar de >acer la >abitacióncon#orme la ;uer,a.A continuación muestro una serie de im*enes en las ;ue odemos las distintasartes de la >abitación.

Page 81: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 81/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 81

(omo se uede areciar@ se arece bastante a una >abitación real ! es a;u, dondetranscurrir* el jueo ;ue vo! a reali?ar.

Page 82: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 82/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 82

os 4 siuientes objetos son menu1./eit@ menu1./juar ! [email protected]!ers1. 6stos botones en realidad son cajas creadas como objetos b*sicos

de 'nit! 3% desde 8ameObject.

(omo odemos ver simlemente son cajas con un o (ollider ! una malla de cuboa las cuales les >emos a+adido #uncionalidad mediante sus corresondientes scrits.6n este caso el botón juar tiene el scrit asociado otongjuar.js reali?ado enavacrit ! como se ve en la imaen ;ue tiene el siuiente códio

Page 83: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 83/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 83

6ste crit como se uede ver lo ;ue >ace es en la #unción 'date comrobar cada#rame si al9n ouc> Ecada ouc> es cada to;ue ;ue >aamos en la antalla delmóvil con el dedo ;ue se reistra con Inut.8etouc>Ei toca el botón asociado aeste crit@ en este caso el botón <juar=.

6sto se detecta mediante la creación de un ra!o con ">!sics.Ra!cast ;ue va!a desdedonde se >a detectado el to;ue en la antalla t*ctil >asta el in#inito@ ! si tocara elcollider del botón en al9n momento mover,amos la c*mara al siuiente men9@moviendo las coordenadas de la c*mara a las ;ue le marcamos en este crit.

i ;uisi-ramos >acerlo ara ;ue lo reconociera con el ratón en ve? de manera t*ctilsimlemente tendr,amos ;ue asociar al objeto un crit como este

Page 84: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 84/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 84

*sicamente >ace lo mismo sólo ;ue a>ora comrobamos si se >a detectado un clicCde mouse en el objeto en ve? de un ouc>.

"ara el botón <alir= Eel objeto menu1./eit lo ;ue >a! ;ue >acer es asociar otrocrit similar al del botón juar ero variando la acción a emrender cuandodetectemos ;ue un ouc> a tocado el botón <alir=

Page 85: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 85/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 85

(omo se uede ver simlemente >acemos un Alication.QuitE !a ;ue lo ;ue se;uiere es salir de la alicación.

os otros dos botones son otro men9 al ;ue lleamos al darle a juar ;ue es elsiuiente men9

Page 86: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 86/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 86

ueno >e de decir ;ue cuando se toca uno de los botones este se ilumina ! >ace unsonido@ esto se consiue mediante el siuiente crit

Page 87: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 87/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 87

6l scrit menu1la!erst1.js tambi-n est* >ec>o en avacrit ! contiene el siuientecódio

(omo se uede areciar si asamos el ratón or encima el botón se iluminasimlemente se >ace cambiando la intensidad del color@ ! se alica un sonidomediante el comando audio."la!E. "irarlo para móviles táctiles0

Page 88: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 88/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 88

6l botón de 1 la!er siue el mismo #uncionamiento ;ue el resto de los botones ! sucrit es

Page 89: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 89/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 89

(uando se detecte ;ue un dedo a tocado el botón de 1 la!er se one la variable l a1 ! eso lo ;ue >ace es ;ue se ejecute el siuiente códio

Page 90: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 90/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 90

(omo vemos cuando l vale 1 eme?amos a ejecutar todo el códio ;ue >a! en la#unción On8'I. 6sto lo >ao or;ue ;uiero >acer una e;ue+a cuenta atr*s ara;ue no ille or sorresa al usuario el comien?o de la artida. %e tal manera ;ue # va

asando de los valores / a ) ! se va imrimiendo or antalla las di#erentes #rases;ue se ven en los bucles I#.

e ve la antalla nera ! las letras en medio rojas racias a ;ue >emos usado un Cinersonali?ado como vemos arriba la variable var m!Cin2 : 8'ICin. imlemente sele asina el bacCround color a nero ! las letras a rojo ! en el medio de la antalla.6l botón de atr*s simlemente tiene un crit asociado ;ue >ace ;ue volvamos almen9 anterior@ moviendo la c*mara a las coordenadas deseadas.

P or 9ltimo el botón de controles ;ue elica los controles del jueo or si

;ueremos verlos antes de eme?ar.os otros cuatro 9ltimos objetos simlemente corresonden a la creación de objetosara una adecuada iluminación de la escena@ estos objetos se crean desde8ameObject N] (reate Ot>er N] sotli>t o8ameObjectN](reate Ot>erN]"oint i>t.6n #unction de cuanto ;ueramos iluminar >a! ;ue juar un oco cambiando losar*metros de intensidad ! rano.

Page 91: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 91/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 91

6n la imaen siuiente odemos ver dónde se cambian estos ar*metros:

Page 92: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 92/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 92

6scena del ueo: 

A continuación vo! a describir mi otra escena@ ;ue es en la ;ue transcurre el jueo !

tiene m*s objetos ;ue la del men9 !a ;ue es una escena m*s comleja con m*sscrits.

6n la imaen ;ue odemos ver a continuación muestro los objetos de la escena encuestión:

Page 93: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 93/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 93

ien a>ora eme?aremos a describir los objetos diciendo cual es su #unción ! susscrits asociados.

o rimero ;ue vamos a describir son los elementos de la 8'I de 'nit! ;ue constade una serie de botones ! teturas ;ue a>ora eme?aremos a comentar.

o rimero ;ue vamos a describir de la 8'I de 'nit! de esta escena son los botones

;ue tenemos en ella.

•  otón de ause: este botón sirve ara arar el jueo si necesitamos >acerlo

mientras estamos juando or cual;uier motivo o interrución ;ue nos surja.

Page 94: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 94/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 94

(uando le demos al botón nos aarecer* una antalla indicando ;ue el jueo

est* ausado ! un botón nuevo <continuar= ;ue servir* ara seuir con el

 jueo donde nos >ab,amos ;uedado. 6sto se consiue al darle al botón de

ause mediante el siuiente scrit asociado a este botón ;ue es el siuiente:

(omo se uede areciar@ este scrit lo ;ue >ace es mirar en la #unción 'date@ ;uemira cada #rame@ si se detecta al9n dedo en la antalla@ ! si se >a detectado@miramos si este dedo a tocado el botón <ause=.

Page 95: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 95/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 95

6n el caso de ;ue sea as,@ aramos el tiemo oniendo la variable ime.imecale acero ! onemos una variable l a uno ;ue indica al códio de la #unción On8'I ;ue se

ejecute el i# ;ue >a! dentro. 6sto >ace ;ue veamos el men9 en el ;ue se nos indica;ue el jueo est* ausado ! vemos el botón de continuar.

6ste botón lo 9nico ;ue >ace es ;uitar la antalla de ause ! oner elime.imecale a 1 ara ;ue el tiemo vuelva a asar. 6sto lo >acemos en la #unciónOn8ui si detectamos ;ue se a ulsado dic>o botón de continuar@ se ve comoonemos la variable de la ;ue >emos >ablado a 1 ! modi#icamos la variable l ara;ue no entremos mas a ese i# !a ;ue no nos interesa ues no ;ueremos ;ue el

 jueo est- en el men9 de ausa.

•  otón de controles: 6ste botón simlemente nos muestra un men9 indicandocomo se >acen las cosas en el jueo@ movimiento disaro etc.o >acemos mediante el siuiente scrit asociado al botón de controles:

Page 96: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 96/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 96

(omo vemos es mu! similar al scrit anterior@ miramos si un dedo toca la antalla@ !si lo >ace@ miramos si toca el botón de controles. 6n ese caso vamos al men9 en el

;ue mostramos la a!uda ara manejar el tan;ue ! si le damos al botón atr*svolvemos al jueo ara seuir donde nos >ab,amos ;uedado. 6s el mismo men9 ;ueel de controles de la escena 1@ sólo ;ue iual al juador se le >a olvidado >acer alo! lo ;uiere volver a mirar@ es or eso ;ue e vuelto a oner este botón ara mirar denuevo los controles.

•  otón de salir: 6ste botón simlemente nos retorna al men9 inicial ! lo >euesto or;ue uede ;ue el juador ;uiera eme?ar de nuevo o salir del

 jueo si !a no ;uiere seuir juando. 6l scrit ;ue consiue esto es elsiuiente:

%e nuevo este scrit es mu! similar a los anteriores ero cuando detecta ;ue undedo a tocado a este botón simlemente lo ;ue >acemos es carar la escenaanterior@ ;ue es la del men9@ de manera ;ue volvemos autom*ticamente a dic>aescena ara salir del jueo o volver a juar.

Page 97: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 97/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 97

•  6l siuiente botón es el de renacer: 6ste botón se usa ara cuando te ;uedasatrancado o >as ido or un camino e;uivocado o te >as ca,do o cual;uier otro

caso ;ue necesites volver al camino correcto. o ;ue >acemos es oner unaserie de c>ecCoints a lo laro del recorrido de manera ;ue cuando asamoscon el tan;ue or aluno de ellos uardamos ;ue !a >emos asado or dic>oc>ecCoint@ or consiuiente cuando nos atas;uemos o tenamos cual;uierotro imrevisto ! le demos a este botón aareceremos en este c>ecCoint. ino >emos asado or ninuno salimos donde >emos eme?ado si ulsamosel botón. 6sto se >ace ara no tener ;ue estar eme?ando cada ve? ;ue noscaemos o nos ;uedamos atascados como es lóico@ sino ser,a di#,cil ! acabar,aresultando aburrido tener ;ue eme?ar varias veces. 6l crit del botón es elsiuiente:

6ste códio lo ;ue >ace es ;ue si ulsamos el botón en cuestión@ llevamos el tan;ue

a la osición corresondiente al 9ltimo c>ecCoint or el ;ue >emos asado.os c>ecCoints simlemente son colliders en el maa ;ue detectan cuando unobjeto >a asado a trav-s de -l. "odemos ver uno de ellos en la siuiente imaen:

Page 98: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 98/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 98

6n esta imaen vemos el collider de uno de los c>ecCoints ! como se uedeareciar el collider tiene marcada la oción Is rier@ esto se >ace ara ;ue detectesi al9n objeto entra en el collider ! mediante el scrit c>ecCoint invocamos a la#unción Onrier6nter ;ue lo ;ue >ace es@ al tener marcada la oción Is rier@

detecta cuando al9n objeto entra en su collider@ de manera ;ue si alo entra en estecollider@ miramos si lo ;ue >a entrado es el tan;ue@ ! si lo es@ establecemos ;ue laosición de renacer sea la corresondiente a este c>ecCoint. 6sto se ve en el scritc>ecCoint asociado a ese objeto:

Page 99: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 99/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 99

(omo vemos deendiendo del c>ecCoint ;ue >a!amos atravesado@ la osición esuna u otra.

  otón disaro: 6ste botón es el encarado de reali?ar el disaro de la bala. 6lscrit asociado a este botón es el siuiente:

Page 100: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 100/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 100

6l scrit lo ;ue >ace es@ en la #unción On8'I dibujamos una barra ;ue mostrar* laotencia con la ;ue vamos a lan?ar la bala. Gientras dejemos el dedo ulsando elbotón la barra se ir* carando ues estamos dando ma!or otencia a la bala@ ! saldr*

con una velocidad ma!or cuanto m*s tiemo lo dejemos resionado. i llea al toecuando soltemos simlemente llevar* el toe de velocidad.

6n la #unción 'date volvemos a mirar como en otros scrits si al9n dedo toca estebotón ! si detectamos ;ue >a sido as,@ mientras el ouc> este en las #ases deeme?ar mantener o movido lo ;ue >aremos es ir aumentando la barra de otenciade la bala ! uardar en una variable cuanta velocidad le vamos a dar.(uando soltemos el dedo lo ;ue >aremos ser* instanciar el ro!ectil ullet ;ue esnuestra bala@ ! darle la #uer?a ;ue >a!amos uardado en la variable mencionadaanteriormente.

6l objeto ullet es el ;ue vemos en la imaen a continuación

Page 101: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 101/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 101

iene unos scrits asociados ;ue son los siuientes:•

  6l scrit 6lo:

6ste scrit lo ;ue >ace es ;ue si el temori?ador de la bala llea a / elota@ ! siantes de llear a cero a detectado una colisión con uno de los objetos destruibles enla escena lo ;ue >ace es crearse una elosión ! elotar tambi-n el objeto encuestión.

Page 102: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 102/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 102

•  6l otro scrit es (olorea:

6ste scrit simlemente lo ;ue >ace es ir cambiando la bala de color@ eme?ando enblanco >asta al #inal llear a ser rojo ! elotar si no >a c>ocado con nin9n objetodestruible.A continuación muestro dos im*enes@ la rimera es la de la barra car*ndose aralan?ar la bala a una determinada otencia ! la seunda es la bala !a lan?ada:

Page 103: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 103/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 103

'na ve? lan?ada la bala onemos las variables de la otencia de la bala a cero !vaciamos la barra ara ;ue odamos volver a usarla ! veamos todo correctamente de

nuevo.

•  otón de la c*mara: este botón lo ;ue >ace es ir cambiando entre lasdi#erentes c*maras ;ue osee el tan;ue@ !a ;ue se uede eleir entre variasc*maras se9n los ustos de cada juador. as di#erentes c*maras ;ue oseeel tan;ue ser*n tratadas m*s tarde cuando >ablemos sobre el tan;ue ! susscrits.

Page 104: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 104/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 104

6ste botón tiene asociado el scrit:

6ste scrit detecta cuando un dedo >a ulsado este botón ! en #unción de la c*mara;ue estuviese activa@ uesto ;ue sólo se uede tener una activa a la ve?@desactivamos esa c*mara ! activamos la siuiente. a 9ltima lo ;ue >ar* ser*desactivarse ! activar la rimera ! as, todo el rato.

Pa >emos descrito los di#erentes botones de la escena@ a>ora vo! a describir el8'Iteture ;ue vemos en la arte de arriba de la antalla:

Page 105: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 105/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 105

Memos ;ue tenemos en la i?;uierda el tiemo restante ara llear a la meta@ ! a laderec>a nuestra untuación. 6l dibujo en el ;ue est*n metidos estos dos n9meros esun 8'Ieture:

imlemente es alicar el #ormato deseado a la 8'Ieture ara ;ue ;uedevisualmente como deseemos e indicarle la osición en la ;ue ;ueremos ;ue seencuentre.

A>ora comentaremos el n9mero ;ue vemos a la i?;uierda. 6ste n9mero indica eltiemo ;ue nos ;ueda ara oder llear a la meta ! #unciona mediante el siuientescrit:

Page 106: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 106/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 106

Page 107: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 107/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 107

6ste scrit se encara de >acer disminuir el tiemo restante cada seundo ;ue asa !mostrar el n9mero actuali?ado en la arte de arriba a la i?;uierda. imlementeconsiste en ir eserando 1 seundo con !ield Dait#orsecondsE1 e ir restando 1 al

tiemo restante.i el tiemo llea a ser cero@ vemos en la #unción On8'I ;ue creamos una antallaen la ;ue diremos ;ue el tiemo se >a aotado ! mostraremos dos botones unoara volver al men9 rincial ! otro ara salir de la alicación.

6l otro n9mero ;ue vemos en la arte de arriba es el marcador

P no lleva nin9n scrit uesto ;ue esta ci#ra se actuali?a en los scrits ;ue llevan losobjetos destruibles en nuestra escena.

Page 108: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 108/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 108

6stos objetos est*n resentes en la escena ! son balones mu+ecos coc>es etc.

Page 109: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 109/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 109

P su insector es de este estilo:

(omo vemos en la imaen los objetos tienen asociados todos el mismo scrit ! elcódio de este es el siuiente:

Page 110: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 110/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 110

Page 111: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 111/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 111

6ste scrit simlemente lo ;ue >ace es ;ue si una bala lan?ada or el tan;ue >aimactado con el objeto@ cuando se destru!e actuali?a la untuación del marcadorcon el corresondiente valor asociado a cada objeto@ !a ;ue cada objeto tiene un

valor di#erente.

A>ora vamos a ver la meta@ ;ue se uede ver en el jueo en la siuiente imaen:

i el tan;ue llea a;u, antes de ;ue se le aote el tiemo@ entonces >a cumlido elobjetivo con -ito ! el scrit ;ue tiene asociado la meta nos muestra una antallacon la untuación ! los botones ara salir ! volver al men9 iual ;ue cuando nos;uedamos sin tiemo. 6l scrit de la meta es el siuiente:

Page 112: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 112/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 112

imlemente mira si lo ;ue >a lleado a la meta es el tan;ue ! en ese caso nosmuestra la antalla #inal ;ue se muestra a continuación:

A>ora vo! a comentar los sticCs analóicos@ son los dos c,rculos ;ue salen abajo a lai?;uierda ! abajo a la derec>a resectivamente.

Page 113: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 113/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 113

e suelen ver de un color m*s transarente ara no taar arte del escenario ! ;uemolesten menos.

6l scrit ;ue tienen asociado estos ticCs es el mismo !a ;ue sólo uardamos el valorde cuanto >emos desla?ado el dedo una ve? >emos ulsado dentro de uno deellos. o ;ue cambia es ;ue el sticC i?;uierdo esta relacionado con el movimiento deltan;ue ! el derec>o con la mira del tan;ue.

6l scrit ;ue llevan es el siuiente:

Page 114: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 114/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 114

6stas son todas las variables necesarias ara el #uncionamiento de los jo!sticCs.A>ora vamos a ver como tenemos ;ue iniciarlos en la #unción tart

Page 115: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 115/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 115

6n esta #unción uardamos la osición or de#ecto del 8'I del jo!sticC ! lesasinamos la ?ona de la tetura como la ?ona en la ;ue reconoceremos el dedo altocar la antalla.6stablecemos los l,mites ara oder decidir si un dedo a tocado el jo!sticC o no.

Page 116: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 116/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 116

a #unción disable simlemente sirve ara des>abilitar el jo!sticC ! la #unciónReseto!sticC sirve ara oner el jo!sticC como estaba inicialmente ! liberar lasvariables corresondientes a los dedos tocando el jo!sticC.

A>ora rocederemos a mostrar el códio de la #unción udate ;ue estaimlementado ara ;ue #uncione tanto en el ordenador como en Android !a ;ue lasruebas las iba >aciendo ara el ordenador ! no tener ;ue estar robando todo elrato en el móvil si me iba bien o mal.6ste códio lo describo de manera eneral ! simlemente va mirando si estamos enuna lata#orma t*ctil o no@ ! en #unción de eso mira si un dedo a tocado la antalla ola >a tocado el ratón del ordenador@ si esto >a ocurrido se modi#ica lieramente el

color del jo!sticC ! se calcula la ! la ! de cuanto >emos arrastrado el dedo@ estosvalores van desde 1 >asta N1 en #unción de si movemos el dedo >acia arriba o >aciaabajo@ >acia la i?;uierda o >acia la derec>a. hstos datos son los ;ue nos ser*n 9tilesdesu-s en los scrits del tan;ue ara saber la velocidad a la ;ue tiene ;ue ir eltan;ue@ la dirección o el movimiento de la mira se9n el jo!sticC ;ue estemosmoviendo.

Page 117: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 117/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 117

Page 118: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 118/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 118

Page 119: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 119/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 119

6ste scrit es una adatación de los jo!sticCs del tutorial de eneloe ;ue #ue uno delos ;ue >ice durante mi #ase de arendi?aje de 'nit! 3d@ ! me serv, de esos jo!sticCsara adatarlos a mi jueo ! modi#icar el scrit acorde a mis necesidades.

"or 9ltimo !a sólo ;ueda comentar el tan;ue

Page 120: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 120/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 120

6l tan;ue es un modelo en 3d ;ue consta del cuero ! de la cabina searados araoder mover la mira sin ;ue se mueva el tan;ue.

(omo vemos el tan;ue esta #ormado or un riidbod! ! un collider ! tiene asociados3 scrits. 6stos son los comonentes del tan;ue@ jeebod! es el model del tan;ue en3d@ cameras contiene todas las c*maras ! todo esta dentro de aacanon1la!er ;ue esel tan;ue en lobal.

Page 121: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 121/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 121

'no es el scrit (abina ;ue se encara de alicar la osición detectada or el jo!sticCi?;uierdo ! convertirla en el movimiento de la mira ara oder auntar a donde

;ueramos disarar. o ;ue >acemos es establecer unos toes ara ;ue el ca+ón noueda atravesar al resto del tan;ue or eso tenemos una serie de sentencias i#limitando os rados ermitidos ! lo 9nico ;ue >a! ;ue >acer es establecer elar*metro local6ulerAnles en #unción del jo!sticC i?;uierdo ara ;ue va!a irandoen #unción de como movamos el jo!sticC. Otra cosa ;ue >acemos es ;ue si noscaemos ! volcamos volvemos al 9ltimo c>ecCoint Eanteriormente descritos.

Page 122: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 122/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 122

Otro scrit ;ue tenemos es el scrit G!(ollide ;ue lo usamos ara crear el e#ecto deole contra una ared or ejemlo@ >acemos un e;ue+o e#ecto de emisión deart,culas simulando un c>o;ue contra una ared ! saca un oco de >umo como si

>ubiera >abido un ole.6l scrit ;ue crea esto es el siuiente:

Page 123: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 123/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 123

imlemente si alo entra en contacto con el tan;ue Eesto se mira con la #unciónOn(ollision6nter reali?amos el e#ecto de simulación de un oleo contra una aredor ejemlo. 6l e#ecto de emisión de art,culas es el siuiente

6l 9ltimo scrit ;ue tiene asociado el tan;ue es G!(ontrolled(ar ;ue lo ;ue >ace esa artir de los valores sacados del jo!sticC derec>o damos movimiento al tan;ue.6ste movimiento es bastante comlejo ues intentamos ;ue va!a como si #uera conmarc>as eme?ando m*s desacio ! oco a oco acelerando@ ! lo mismo ara #renar.

6l movimiento se alica a las 4 ruedas ! vamos teniendo en cuenta la #uer?a delmotor ara la aceleración ! tambi-n ara >acer los iros del tan;ue. "ara acelerar !#renar usamos la osición del jo!sticC derec>o <!= ! ara irar la osición del jo!sticCderec>o <=.

Page 124: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 124/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 124

Page 125: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 125/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 125

(on esto >emos lorado un movimiento m*s o menos realista del tan;ue.

a arte de la cabina del tan;ue <canoncabina= osee un scrit ara detectar si>emos volcado@ en caso de volcar one una variable a 1 ! el scrit cabina del tan;ueen cada #rame en la #unción udate c>ecCea si ese valor es 1. i ese valor es 1 lo ;ue>acemos es volver al 9ltimo c>ecCoint or el ;ue >a!amos asado. 6l scrit es elsiuiente:

"or 9ltimo vo! a describir las di#erentes c*maras ara dis#rutar del jueo desde lavista ;ue m*s nos uste.

•  (*mara1:

•  (*mara 2

Page 126: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 126/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 126

•  (*mara 2

•  (*mara 3

•  (*mara 4

•  (*mara 0

Page 127: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 127/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 127

3.)."roblemas encontrados: 

Al crear una alicación sobre alicaciones ;ue en rinciio nos resultan

desconocidas@ como 'nit! 3d@ sobre disositivos ;ue soorten Android suele traerconsio varios roblemas ;ue son los ;ue a>ora vamos a comentar.

'no de los roblemas rinciales #ue la arte de la adatación del de nuestraalicación ara ;ue #uncionara en Android. Al rinciio la alicación #ue creada arael ordenador usando ratón ! teclado !a ;ue era una lata#orma conocida ! eramuc>o m*s #*cil ara ir arendiendo ! robando la alicación. Al asarlo a Android>ab,a ;ue cambiar muc>as artes del códio@ en concreto@ cada ve? ;ue >a!a ;ue>acer un clic con el ratón o darle a una tecla del teclado@ !a ;ue ten,amos ;ueonerlo en modo t*ctil con inut.touc> ! dem*s clases !a tratadas anteriormente.

Otro roblema #ue ;ue no disuse de un móvil con Android >asta !a avan?ada laalicación@ !a ;ue antes ose,a otro ;ue ten,a el sistema oerativo ada ! noAndroid.

ambi-n >ubo bastante roblema con el tema del multitouc> !a ;ue los botones8'Iuttons en 'nit! 3d no ermiten al asarlos a Android la oción@ tuve ;ue crear8'Ieturas ;ue simularan los botones ! aa+arlo un oco ara ;ue udieradetectarlo.

"ero el ma!or de los roblemas sin duda #ue el tema de ;ue mi alicación corriera de#orma #luida sobre mi móvil con Android. (omo es lóico un ordenador tiene muc>amas memoria Ram ! mejor r*#ica or tanto la tasa de #rames alcan?aba los 2// oas,. in embaro@ en el móvil esto se reduc,a dr*sticamente ! bajaba a una tasain#erior a 1/@ lo cual era inacetable@ !a ;ue r*cticamente se ve,a a cac>os !#uncionaba a tirones.As, ;ue estuve un tiemo investiando or #oros ! *inas Deb >asta ;ue di con ;ueel roblema era el n9mero de ol,onos ! v-rtices ;ue estaban en la escena ;uerenderi?aba la c*mara.

"or lo tanto me use a intentar solucionarlo ! la 9nica solución ;ue encontr- a artede la obvia ;ue es ;uitar muc>os objetos de la antalla@ era coer dic>os objetos;ue #ormaban la >abitación ! en ma!a reducir los ol,onos al m*imo@ con lo cualse emeora la calidad !a ;ue cuantos menos ol,onos m*s b*sico es el objeto eromanteniendo siemre un m,nimo de calidad baj- los ol,onos de los objetos todolo ;ue ude ! al #inal conseu, >acer correr la alicación sobre mi móvil de manera#luida ! sin ;ue #uncionara a cac>os. 6sto uede no suceder en otros móviles@ !a ;uesi oseen eor >ardDare es osible ;ue les va!a a una tasa de #rames menor.

Page 128: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 128/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 128

(onclusiones ! l,neas #uturas: 

4.1. (onclusiones t-cnicas: Mamos a estudiar en este aartado si se >an cumlido los objetivos del ro!ecto ! si lalani#icación inicial de desarrollo de este >a sido alterada.6stos untos eran los objetivos del ro!ecto:

•  6studio de las >erramientas@ lenuajes ! roramas a utili?ar en el dise+o de la alicación.

•  %ise+o de la alicación. 

•  Imlementación de la alicación. 

•  "ruebas de la alicación. 

•  %ocumentación de la alicación ara el correcto manejo del inter#ace. "ara reali?ar el estudio de las >erramientas@ le, tutoriales b*sicos sobre el#uncionamiento de 'nit! de la *ina >tt:KKunit!3d.comKaller!KdemosKdemoNrojects estuve mirando el del coc>e@ el de s>ooter en tercera ersona ero sobretodo me sirvió el de "eneloe >tt:KKu3d.asKcontentKunit!Ntec>noloiesKeneloeNcomleteNrojectK1;.6ste 9ltimo trataba cosas como los jo!sticCs etc. ;ue realmente me resultaronmu! 9tiles ara la reali?ación de mi ro!ecto. 8racias a estos tutoriales ude#amiliari?arme con 'nit! ! >acer el ro!ecto en condiciones.6l tema del arendi?aje en (5 ! avacrit no #ue de una *ina esec,#ica uesto

;ue !a sab,a bastante de ava ! ambos uardan bastantes similitudes con ava@ as,;ue las dudas ! las cosas b*sicas de 'nit! las miraba en la aina del 'nit! 3% obuscando en #oros como DDD.unit!sain.comK or ejemlo.os roramas eternos ;ue utili?- ara oder crear la alicación #ueron Adobe">otos>o ara tratar alunas teturas ! AutodesC 3ds Ga ! Ga!a. 6l 3ds Ga !a loconoc,a de la asinatura <8r*#icos ! multimedia= de la Inenier,a t-cnica enIn#orm*tica de 8estión de la 'niversidad "9blica de avarra E'"A.a imlementación me costó bastante ues tuve ;ue cambiar bastantes cosas entreavacrit ! (5 ! tambi-n la adatación a Android era un oco comlicada.

as ruebas tambi-n #ueron bastante costosas !a ;ue cada ve? ;ue ;uer,as robaralo en el móvil tenias ;ue recomilar la alicación@ asarla al móvil@ instala el .aC detu alicación ! robarla. i no #uncionaba como eserabas ten,as ;ue volver a reetirel roceso ! as, subcesivamente.o >emos ues un manual de usuario roiamente dic>o en cuanto al tema de ladocumentación ero >emos ido describiendo lo ;ue >ac,a cada cosa de cada escena! es bastante intuitivo@ adem*s ;ue el usuario disone de un botón de controles entodo momento en el cual se le elica como #unciona de una manera clara ! sencillala alicación.

Page 129: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 129/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 129

4.2. (onclusiones ersonales:

6l reali?ar este ro!ecto me >a dado una visión eneral de las ociones ;ue tieneesta arte de mercado de la in#orm*tica. 6l tema de los jueos se est*

etendiendo a una velocidad mu! rande ! racias a roramas como este@ esosible reali?ar cosas bastante curiosas ! subirlas al mercado de Android o a laastore de una manera bastante sencilla ! adem*s se ueden >acer alicacionesara indoDs mac o inu as, como ara HOH o "3.Al >acer esta alicación desde cero@ >e odido ver todas las di#icultades ;ueresenta reali?ar una alicación de este tio ! como solucionar los roblemas ;uese resentan racias a los conocimientos ad;uiridos durante la carrera. Adem*s>e re#or?ado mis conocimientos sobre (5 ! avacrit ! uedo darles uso en#uturas alicaciones de cual;uier estilo.

Page 130: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 130/131

 

Alicación con lenuaje avacrit y (5 de entretenimiento basado en 'nit! 3%  Pagina 130

4.3. ,neas #uturas:'na ve? concluido el ro!ecto vamos a elicar dos asectos ;ue deber,an ser tratadosen un #uturo ara mejorar la alicación.

6l tema del renderi?ado 3d de los objetos !a #ue solucionado aun;ue me llevó bastantees#uer?o.o ;ue s, eme?- a >acer ero or temas de tiemo no ude comletar #ue el tema dela oción multila!er. 6ste tema si me ustar,a >acerlo en un #uturo !a ;ue aortamuc>a diversión el juar contra otro usuario desde otro móvil ! ver ;uien lo >acemejor. a di#icultad ;ue encontr- #ue el tema de ver lo ;ue uno cambiaba en el otromóvil ero !a casi estaba solucionado as, ;ue en un #uturo cercano me ustar,aincluirlo !a ;ue uede resultar mu! divertido el juar contra un amio or ejemlo.ambien a+adir,a nuevas escenas con di#erentes recorridos ara aortar un oco m*s

de dinamismo al jueo.Otra oción ;ue se odr,a mejorar ser,a el movimiento del tan;ue@ ;ue se odr,a >acera9n mas realista ero es alo ;ue resulta bastante costoso ! creo ;ue est* bastantebien a>ora mismo."or 9ltimo otra caracter,stica a imlementar en un #uturo ser,a la oción desubirlo a Android GarCet ero >a! alicaciones ratuitas de muc>a calidad !rimero deber,a mejorarlo ! >acer ;ue #uncionara mejor en móviles con ocasrestaciones de >ardDare antes de nada !a ;ue sino no creo ;ue tuviera muc>o-ito.

Page 131: Aplicacion Unity 3d

7/23/2019 Aplicacion Unity 3d

http://slidepdf.com/reader/full/aplicacion-unity-3d 131/131

 

ibliora#,a: 6n este aartado

 

vamos a ver 

los 

libros@ ainas 

Deb@ 

etc 

;ue se 

>an 

tenido como

re#erencia ara el arendi?aje ! creación de la alicación de nuestro ro!ecto.

eb o#icial de 'nit! 3%:

  DDD.unit!3d.com 

Foro de consulta esa+ol sobre la alicación 'nit!3%:

  DDD.unit!sain.com 

utoriales de 'nit!:

  >tt:KKunit!3d.comKaller!KdemosKdemoNrojects 

iCi inlesa sobre 'nit! 3%:

  >tt:KKDDD.uni#!communit!.comK