View
247
Download
1
Category
Preview:
Citation preview
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
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
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.
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
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.
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%
u
otros
contenidos
interactivos
como
visuali?aciones
ar;uitectónicas oanimaciones 3% en tiemo real. 'nit! ermite crear jueos ara las siuienteslata#ormas: indoDs@
Gac
O
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.
a
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:
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
a
;ue
te
de
una
visión
de
al?adoer#il ! lanta de los objetos 3%.
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
a
la
anterior
con#iuración@
con
la
di#erencia
de
la colocación de Lierarc>!@ "roject e Insector
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
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.
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.
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.
i
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
a
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.
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.
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.
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.
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.
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.
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.
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.
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.
i
no@
er#ecto
tambi-n.
6n
realidad
a
(
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
a
(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.
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
a
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
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.
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.
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
[
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#
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>.
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:
e
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.
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:
e
>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
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
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.
a
(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.
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
a
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.
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!.
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
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
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.
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
A
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
o
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.
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
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
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.
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.
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.
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.
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
b
e>aviour E>ereda de (omonent:
e>aviour
son
comonentes
;ue
se
ueden
>abilitar
o
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.
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
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
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
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.
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
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
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
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
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
v
Riidbod! E>erada de comonent:
a
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
a
c*mara
lenta.
"or
eso
es
mejor
mantener
el
tama+o
de
losobjetos del mundo real.
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!
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.
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`
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
b
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.
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.
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
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
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>
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@ /@ /
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
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.
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
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.
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.
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.
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.
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
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
a
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.
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!.
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
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.
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.
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!.
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.
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.
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.
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.
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.
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.
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 ! menu1.1bacC@menu1.1la!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
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
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=
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
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
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
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
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
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.
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:
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:
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.
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=.
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:
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.
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:
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:
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:
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
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.
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:
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.
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:
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:
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
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.
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.
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:
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
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:
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.
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:
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
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.
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.
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
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
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
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.
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.
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:
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 <=.
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
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
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
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.
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.
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.
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.
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
Recommended