UDev_2
-
Upload
samuel-lopez-baza -
Category
Documents
-
view
218 -
download
0
Transcript of UDev_2
-
7/27/2019 UDev_2
1/28
UDEVN 2
-
7/27/2019 UDev_2
2/28
-
7/27/2019 UDev_2
3/28
CONTENIDO
UDEV
Cargo: Direcor
Nombre: David Colladoemail: [email protected]
4
7
11
16
19
25
1. Unie 2010
2. Enrevisa Tornado Twins
3. Eyes Bandegades
4. Como se hace? Produc Shee (pare2)
5. Tuorial: Sreaming con uniy
6. Inroduccin a iTween
EDITORIALAqu esamos, con un nuevo nmero de Udev, res meses
despus del primero. Me sieno orgulloso de comparir conoda la comunidad esa nueva edicin cargada de conenidos; enre ellos, una ineresane enrevisa a unos personajes muy conocidos denro del secor: los TornadoTwins.
Adems de con buenos arculos conamos con la paricipacin de la comunidad, que ha sido mayor en ese nmero,endencia que confo se manenga en prximos nmeros.
Tengo que dar las gracias a mucha gene; empezando pornuesro maqueador, que realiza un rabajo ms que noablededicando su iempo libre a dar forma a la revisa; a nuesraediora, siempre revisando y puliendo con paciencia cadadealle, y no puedo ampoco dejar de agradecer el rabajode nuesro ilusrador cuyo aleno no iene lmie, al y comodemuesra da a da.
Sin embargo, el mayor agradecimieno es para los redacores, que colaboran desineresadamene en el crecimienode Udev con sus esupendos arculos, y sobre odo paravosoros, lecores (y quiz fuuros colaboradores). Sin vosoros, odo ese esfuerzo no endra senido.
No quiero alargarme ms; como siempre, espero que disfruis de ese nmero y que os animis a paricipar en elsiguiene.
Un saludo!
David Collado, DirecorEN ESTE NMERO
Cargo: EdioraNombre: ngela Espelaemail: [email protected]
Cargo: MaqueadorNombre: Eduardo Echevarraemail: [email protected]
Cargo: IlusradorNombre: Javier Morenoemail: [email protected]
Artculo: Enrevisa Tornado TwinsNombre: Tornado Twinsweb: www.ornadowins.com
Artculo: Cmo se hace?Nombre: Jess Pancorboemail: [email protected]
-
7/27/2019 UDev_2
4/28www.unityspain.com4
Aunque ya ha pasado un tiempo desde lakeynote de Unite 2010, creo que ser in
teresante hablar de ella y dejar claros al
gunos detalles que quiz no quedaron muy
claros en un primer momento.
En la conferencia inaugural de Unite 2010
en Montreal, el director ejecutivo de Unity,
David Helgason anunci algunas mejoras
para el motor, adems de una nueva inicia
tiva llamada Union, que ayudar a los de
sarrolladores a llegar a los dispositivos a los
que no podan llegar antes.
En primer lugar, Helgason di algunas es
tadsticas interesantes: la conferencia de
Unite, la cuarta, cont con 650 partici
pantes, entre ellos personal de Unity. En el
ltimo ao, desde que la compaa liber
una versin gratuita del motor, su audien
cia ha aumentado 20 veces, de 13.000 a
260.000 desarrolladores.
Si bien en un principio hubo cierta preocu
pacin de que esta gran afluencia de
nuevos usuarios podra llegar a degradar la
comunidad, desde la percepcin de Unity
y tambin de usuarios ya asentados, no ha
sido el caso. El palabras de Helgason: Simplemente ha enriquecido y hecho mejorar
la comunidad Estos nuevos usuarios
fueron a aprender, ensear y ser de utilidad
para la comunidad.
Unity 3 se puso a la venta hace poco y ya
es muy fuerte. El plugin para poder jugar
a juegos de Unity en la web ha llegado a la
cifra de 2.5 millones de instalaciones al
mes, 1 por segundo, llegando a un 30% de
los jugadores de internet. 40 millones de
plugins se han instalado a da de hoy.
El motor tambin est presente en 17 de
los juegos top 10 de la plataforma iOS y
20 buenos juegos han sido lanzados para
Android, 13 de ellos tambin en iOS. Las
ventas del motor para Android han lle
gado ya a un tercio del volumen de las
ventas de iOS.
A principios del ao prximo aparecern
los primeros juegos para Xbox 360 y
PlayStation 3 realizados con Unity y los
desarrolladores interesados pueden ac
ceder a estas plataformas ponindose
en contacto con el equipo de ventas de
Unity. Estamos controlando a la gentea un ritmo lento para asegurarnos de
que podemos darles buen soporte, dijo
Helgason.
La compaa tambin est trabajando con
Google para que sea posible que juegos de
Unity funcionen de forma nativa en
Chrome y se expandir a sus tables y otros
dispositivos.
La democratizacin del Desarrollo de
Videojuegos
Helgason dijo: El objetivo que nos mueve
es democratizar el desarrollo de videojue
gos. Trabajamos de la forma que sabemos,
que es coger tecnologa realmente avan
zada, empaquetarla, simplificarla y hacerla
mejor en un modelo de negocio que nos
permita seguir vivos. Somos rentables y
todo va muy bien, estamos creciendo y lle
gando a gente nueva.
Sin embargo, eso no es suficiente: Hay prob
lemas que permanecen incluso una vez que
se haya hecho el desarrollo del juego de
forma sencilla Si bien la compaa todava
UniteUNITE DAVID COLLADO
EPORTAJE
-
7/27/2019 UDev_2
5/285www.unityspain.com
Reportaje
www.unityspain.com
est trabajando en la simplificacin del profeso de desarrollo
del juego, sigue habiendo problemas. Y uno de esos problemas
es que los videojuegos requieren de un equipo.
Un desarrollo requiere de artistas, animadores, difer
entes tipos de programadores, diseadores, etc. Tener un
equipo estable es un lujo de un gran equipo con un granpresupuesto. Muchos forman parte de grandes empresas
pero otros no. Nos dimos cuenta de que la solucin es
taba en la comunidad ya existente que no solo com
partan herramientas, sino tambin arte, extensiones....
Todo esto era controlado fuera de Unity antes, pero ya no
ser as. Unity cambi esto con el lanzamiento de la Unity
Asset Store, una plataforma para el intercambio y el comer
cio entre los usuarios de Unity. Es una pieza bastante salvaje
de software, dijo Helgason.
Muy parecida a la tienda de iTunes o la App Store, latienda te permite descargar, desde el interior de Unity
3.1, obras de arte y otros datos e importarlos directa
mente a Unity permitindonos trabajar con ellos casi de
inmediato. Otra similitud con la App Store es la partici
pacin en los ingresos, con un 70% para los desarrol
ladores y un 30% para Unity.
Adems de incluir la Asset Store, la versin 3.1 de Unity cor
rige muchos errores y mejoras, y hay otra novedad impor
tarte en Unity 3.1, que se ha mantenido en secreto porque
es complejo y tcnico.
Habr muchos ms telfonos in-
teligentes, televisores con conexin
a internet y decodificadores capa-
ces de ejecutar tus juegos
Union
Mientras que iOS, los navegadores y muchas otras consolas
ofrecen grandes audiencias para los juegos desarrollados con
Unity, esto no es todo: Habr muchos ms telfonos inteligentes, televisores con conexin a internet y decodifi
cadores capaces de ejecutar tus juegos, dijo Helgason.
Los fabricantes de estos dispositivos saben que los juegos
son importantes... pero no saben dnde ir, por lo que recurren
a grandes empresas dejando fuera a la comunidad de Unity,
algo muy triste. Qu pasara si todos unimos fuerzas?
Nos dimos cuenta de que nuestra comunidad haba lanzado
muchos grandes juegos en la App Store, mejores que los de
grandes editoras. Esta es la razn para lanzar Union, para cap
turar esas oportunidades todas juntas.
Union es un nuevo servicio a cargo de Unity, que permitir a
los desarrolladores llegar a una serie de nuevas plataformas
con un porcentaje de ingresos 80/20. Brett Seyler dio una ex
plicacin ms completa de qu es Union: Hoy estamos lan
zando Union, y eso significa que tus juegos pueden llegar ms
lejos que nunca antes. Realmente creo que estamos en la
cspide de algo muy grande. Al actuar juntos podemos estar
entre los primeros en cualquier dispositivo, dijo.
Para unirse solo debes contactar a Union, subir un proyecto
completo y listo.
Se anunciaron cuatro relaciones de inters para Union desde
el principio. Una de ellas es Nokia, que el ltimo trimestre
envi 110 millones de telfonos y tienen un 32% del mer
cado dijo Seyler. El siguiente es NDS, un proveedor de soft
ware clave para decodificadores y otros dispositivos similares
para la sala de estar. No es un nombre muy conocido, pero
su software esta en ms de 138 millones de dispositivos ac
tivos. Splashtom, el tercero, es una empresa muy intere
sante... ofrece un arranque instantneo del sistema operativoque ya est en ms de 40 millones de PCs de empresas como
Lenovo y Dell. Por ltimo, HP Palm, que tiene cerca del 5%
del mercado del espacio del mvil inteligente y en el lado PC,
son enormes, casi el 30% del mercado.
Estas son slo algunas de las empresas con las que estamos
trabajando y cuando lleguen a estos dispositivos y encuen
tren compradores, el 80% de los ingresos netos volver a los
desarrolladores, prometi Seyler.
Aunque esto fue lo ms relevante ocurrido en Unite 2010 de
cara al pblico general, realmente ni anuncios ni datos son
el centro del evento. Unite es comunidad, es conocer nuevosdesarrolladores y es aprender de manos de los propios tra
bajadores de Unity. Personalmente no me ha sido posible asi
stir, aunque me gustara poder hacerlo en prximas ediciones
y tener as la posibilidad de ofrecer una visin ms cercana
de este aspecto fundamental de Unite, la comunidad, tam
bin uno de los pilares de su gran motor.
Para los que no pudieron asistir, Unity tendr varios
vdeos disponibles muy pronto en su web, tal y como ya
hicieran en anteriores ediciones y, si algn afortunado de
entre vosotros tuvo la posibilidad de asistir, que no dude
en compartirlo con nosotros.
UNITE DAVID COLLADO
-
7/27/2019 UDev_2
6/28
-
7/27/2019 UDev_2
7/28
Quin esa ders de TornadoTwins?
Tras TornadoTwins esn unos gemelos que han esado ha
ciendo juegos desde los 10 aos. Hemos rabajado para al
gunas de las ms grandes compaas a nivel mundial y po
siblemene ambin en algunas de las ms pequeas.
Tambin esamos encanados de haber iniciado nuesro pro
pio negocio.
Qu relacin enis con Uniy?
Nos encana Uniy por encima de oros moores. Es un moor
muy diverido para hacer juegos, uno de los mejores que hemos
usado. Por supueso, elegir un moor depende siempre del
cliene o el juego que esemos haciendo.
Cmo llegaseis a Uniy?
Nos encan ano Uniy que compramos equipos Mac para
poder usarlo, ya que enonces no haba versin para Windows.
No esamos seguros de cuando exacamene empezamos a
usar Uniy pero creo que posiblemene fuese en 2006.
Habis asisido a Unie 2010? Si es as, Cmo ha sido la
experiencia?
No, no ha sido posible. Pero por lo que sabemos ha sido genial.
Cules son para vosoros los mejores punos de Uniy?
El ms imporane es el hecho de que la edicin de assets es
muy visual. Eso es para nosoros la pare ms imporane, no el
cdigo. Sin embargo, para nuesros propios juegos hemos des
arrollado nuesros propias herramienas, por lo que no hacemos
odo denro del moor. Acualmene uilizamos el moor para
desplegar las herramienas, y luego uilizamos las herramienas
para dar forma al juego. Es un ciclo curioso.
Por curiosidad, habis viajado alguna vez a Espaa o a
oro pas hispanohablane? Si es as, Podeis resumirnos
vuesra experiencia?
Slo hubo una vez en mi vida en la que no me guso Espaa:
cuando mi pas (Holanda) uvo que jugar la final de la Copa
del mundo de 2010 y perdi. An as Espaa mereca ganar,
bien jugado!
www.unityspain.com 7
TORNADO TWINS
ENTREVISTA
TORNADO TWINS
-
7/27/2019 UDev_2
8/288 www.unityspain.com
Por oro lado he esado en Bolivia un par de veces. Por su
pueso no es lo mismo que Espaa, pero ambin se habla
casellano. Me encana el idioma!
Qu os llevo a crear UniyPrefabs?
Hace un ao comenzamos nuesro canal en YouTube para
ayudar a la gene a hacer juegos. No sabamos que llegara
a ser an popular an rpidamene. Fue an popular que
uvimos que cerrar las noificaciones por email porque e
nemos mas de 300 mensajes al da (Ms pregunas que en
los foros de Uniy). Para ayudar a las personas con mayor
eficacia comenzamos a hacer prefabs, codificando el are
para que la gene pudiera uilizarlo para hacer sus juegos
ms rpido. Por supueso, no hicimos odos nosoros mis
mos, conraamos a oros programadores. As es como se
conviri en un negocio.
Para vosoros, El poencial de UniyPrefabs esa en
el precio o en la calidad? Qu impora ms a la hora
de venderprefabs?
Es muy difcil hacer algo que odos pueden usar para su
juego. Cada juego es nico. Inenamos ayudar a odo el
mundo, pero es sencillamene imposible. As que en
lugar de una alla nica para odos hicimos nuesros
prefabs muy configurables. Con slo algunas variables
puedes cambiar odo. Ese es el verdadero puno clave
de nuesros prefabs, la posibilidad de configurarlos al
guso. Adems inenamos que el cdigo sea sencillo de
enender. Queremos que cualquiera pueda usarlos, no
solo los programadores.
UniySpain vende acualmene denro de UniyPrefabs, Los vendedores de UniySpain pueden vender
en la asset store? Qu deben hacer?
Efecivamene, UniySpain se uni a nosoros como un ven
dedor oficial, adems fue uno de los primeros. Si la gene
quiere publicar susprefabs a ravs de UniySpain solo de
ben conacar a su webmaster, que sabe exacamene como
vender en UnityPrefabs.com. Nosoros nos ocupamos a
parir de ah y publicamos en la asset store siempre y
cuando el produco sea exclusivo, pues de ora forma no
enemos los derechos para represenarlo.
Cules son vuesras ideas para el fuuro de Uniy
Prefabs?
No hemos hecho ms que empezar! La siguiene cosa que
esamos haciendo es una revolucin en el desarrollo de
juegos indie. Es un conjuno de soluciones muy ineligenes
para los problemas ms comunes enre los diseadores de
juegos. No puedo decir exacamene lo que es odava,
pero asegrae de esar suscrio al newsletterde UniyPre
fabs.com para enerare en el momeno del lanzamieno.
Entrevista
TORNADO TWINS
-
7/27/2019 UDev_2
9/28
Os puedo asegurar que no os lo querris perder, es real
mene emocionane.
Acabis de lanzar un nuevo proyeco. Podrais con
arnos en que consise?
Durane los limos 3 aos hemos esado dndole vuelas
a converir la Biblia en un videojuego. No puedo creer que
nadie haya hecho eso anes ya que las hisorias de la Biblia
son perfecas para un videojuego. Hay muchas guerras y
mucho ms maerial.
Empezamos el proyeco mucho anes de que alguien nos
conociera y no ha sido fcil, ya que es muy grande. Empe
zamos con una sola hisoria y esa fue la hisoria deDavid.
En el juego jugabas como David desde que eras un pobre
pasor hasa llegar a ser un rey ( y maando a Golia, porsupueso). Tambin enemos algunos elemenos en el juego
que nunca se han hecho anes. Tendris que esperar a la
demo para verlo.
Tenemos algunos elementos en el
juego que nunca se han hecho antes
Tenis mas proyecos para el fuuro?
Por supueso! Siempre hacemos varios proyecos a la vez. Tenemos ora hisoria que esamos convirtendo en videojuego,
es de ciencia ficcin fuurisa. Ese proyeco es an muy se
creo.
Os sigo en Twier y veo que hablis mucho sobre mar
keing enfocado a videojuegos. Qu consideris mas
imporane sobre ello? Que consejo darais a alguien
que quiere hacer su juego y no iene una gran compaa
ders?
La mayora de los desarrolladores indie ponen su esfuerzoen hacer el juego. Cuando esa erminado, lo prueban y lo
envan a la App sore y quizs a algn oro siio, pero no
llega a vender realmene nunca. A veces piensan que es
por su juego, por lo que cambian a un nuevo proyeco y
durane aos consiguen los mismos resulados.
Sin embargo, solo por el hecho de que u juego es en
una red de disribucin (como la App sore), no quiere
decir que el juego es delane de odo el mundo. De he
cho, no lo esar.
Esa es la razn por la que recomiendo a odo el mundo que
enga un plan solido y probado de marketng. Necesias que
u juego se conozca. Si no tenes una compaa que lo haga
por t, tenes que crear esa compaa. Por eso hablo ano
de ello: anunciar el juego es an imporane como hacerlo.
Esa es ambin una de las razones por las que esamos
desarrollando nuesro juego de forma abiera. En lugar deguardar odo en secreo, dejamos que la gene nos diga
qu quiere ver. Aunque cnicamene eso no es markeing,
consigue que odo el mundo ese emocionado con u juego
y eso es exacamene lo que necesias.
Qu recomendis a un programador para inroducirse
en la indusria? Y para un artsa? Y para el que disea
el juego? Cul es u consejo para los nuevos programa
dores, artsas? Qu deben esudiar, leer, ver ?
Mi consejo para los programadores: despus de esar programando un da enero, oblgae a revisar odo de nuevo.
Me he dado cuena por m mismo de que despus de pro
gramar ano sobre los dealles me olvidaba de que real
mene esoy creando un juego. Si no revisas lo que ess
haciendo, el resulado puede ser un juego horrible. Tambin
es imporane fijarse un objeivo diario, complearlo y en
onces deenerse. Es mejor erminar un da resolviendo un
problema, que empezando oro que no puedes erminar,
consiguiendo que e vayas de la oficina frusrado.
Mi consejo para los arisas: fuerza a u equipo a que defina
un lmie de polgonos y amao para el juego. No ganas
nada hasa que el equipo al compleo iene claro a qu
framerate debe funcionar el juego, cul es la mxima can
idad de polgonos para cada personaje u objeo y el a
mao de las exuras. Cuando odo eso es definido, el
reso es realmene sencillo. El libro de Wes McDermo
Creating 3D Game Art for the iPhone with Unity iene ca
pulos muy ineresanes que hablan de ello.
En el mercado indie no puedes compeir con grandes
compaas en calidad cnica, IA, ec Dnde deben
buscar los desarrolladores indie? Cul es el camino
para conseguir que un juego riunfe en un mercado
an saurado de grandes juegos?
Cenrarse en los nios. Es as de simple. Los nios no buscan
personajes modelados en zbrush que hagan movimienos
acrobicos. Un simple sprite diverido puede conseguir
mucho ms que eso. Creo que los desarrolladores ms exi
osos enre los desarrollos indie se esn cenrando ambin
en juegos para iPhone y el reso de plaaformas mviles.De esa forma se ven forzados a reducir los grficos y a in
novar. Algunas veces verse forzado en esa direccin es
9www.unityspain.com
Entrevista
TORNADO TWINS
-
7/27/2019 UDev_2
10/2810 www.unityspain.com
bueno. Necesiamos ms creaividad y diversin. Si esas
pensando en hacer oro FPS de zombies o de accin segu
ramene engas compeencia.
El riesgo es conseguir que guste
a la gente
El hecho es que para mucha gene odos los juegos de ac
cin son iguales. La gene no sabe cual escoger, as que se
guan por lo que juegan sus amigos y acaban comprando
Call of Duy. Jams mirarn hacia u juego.
En definiiva, si quieres hacer un juego que venda ienes
que llamar la aencin, y llamar la aencin empieza por
escoger el gnero correco. Mi consejo es cenrarse en los
nios y las familias primero.
Crees que alguna vez habis redefinido un genero?
En caso afirmaivo, Considerais que es necesario
hacerlo?
No es muy necesario. Un gnero de videojuego tene que
ver con el puno de visa de la cmara. Por ejemplo, cuando
la cmara esa en la cabeza del personaje enemos un shooter
en primera persona. La pare en primera persona tene
sentdo, pero shooterNo tene nada que ver con eso! Por
supueso, se puede hacer un juego en primera persona queno sea un juego de disparos. Sin embargo, ya que la cmara
esa en la cabeza del personaje, se relaciona inmediaamene
con el genero de accin de disparos. Por ano, los gneros
tenen mucho que ver con los punos de la cmara, y odos
los punos de cmara ya han sido invenados.
En los juegos acuales, para innovar o redefinir un gnero,
tenes que hacer una combinacin de punos de cmara que
esn unidos de forma creatva. Esa es la forma de hacerlo.
Lo hemos hecho nosoros? Bueno esamos rabajandoen un juego muy grande que llevara ms all los limies de
la creaividad. El riesgo es conseguir que guse a la gene.
Yo confo en ese rabajo, pero, obviamene, yo esoy den
ro del proyeco. Para conesar a u preguna: an no he
mos reinvenado un gneroPero lo haremos prono!
Uniy acaba de presenar su asset store y UniyPrefabs
ha anunciado que es en ella. Cmo ha sido la ex
periencia? Conac Uniy con vosoros o fuiseis vos
oros los que conacaseis con Uniy?
Ese verano el direcor ejecuivo de Uniy, David Helgason,
conac con nosoros para comunicarnos que esaban
rabajando en su propia asset store. Para su sorpresa,
nosoros esbamos muy conenos con ello. En lugar de
converirnos en compeencia les sugerimos abrir la ienda
a oros y vender a ravs de ella. Un mes ms arde via
jamos a San Francisco para mosrarles nuesra ienda, a
ravs de la cual los dems podan vender. La reuninfue genial.
Qu prefabs esis vendiendo en la asset store de
Uniy?
Todos los que son compaibles con Uniy 3, incluyendo
aquellos que se venden a ravs de nuesra ienda, que
simplemene consiguen los mismos porcenajes. Un sisema
muy sencillo: ellos no ienen que hacer nada de publicidad,
nosoros lo hacemos por ellos.
Puede ahora cualquier arisa o desarrollador vender
en la asset store de Uniy?
En ese momeno, creo que la asse sore de Uniy no
es abiera para odo el mundo. Uniy ha seleccionado
un puado de desarrolladores con los que rabajar. Quizs
en el fuuro la ienda se abra a oros vendedores, pero
por ahora solo unos pocos ienen acceso. Nosoros esa
mos enre ellos.
Qu crees que es Union? Sabes como funciona? Podras decirnos cual es u opinin?
Union ha sido anunciado en la conferencia de Unie de ese
ao. Parece que Uniy recibir los juegos, y ras revisarlos
los publicar en mliples plaaformas. Es una oporunidad
muy buena. De momeno, no he odo de nadie que se en
cuenre en ese proceso, pero esoy ansioso por ver llegar
los resulados. Uniy iene muy buenos conacos denro
del negocio de los videojuegos y quin sabe lo que puede
ocurrir.
Con esa preguna erminamos la enrevisa, muchas gracias
por u tempo
Entrevista
TORNADO TWINS
-
7/27/2019 UDev_2
11/28www.unityspain.com 11
ARTCULO
Eyes Bandegades es un videojuego perteneciente al gnero de los shooterespacia
les que inicialmente fue planeado a finales
de 2009 como un pequeo juego de naves
2D por Gilson Herrera (modelador 3D y mi
nico socio en ese momento) y yo mismo,
X4ch1, con la idea de promocionarnos
como desarrolladores de videojuegos. En la
captura podis ver un jueguecito de naves
que realic en GameMaker en los inicios de
mi perfil como diseador de videojuegos y
que nos sirvi de inspiracin para el desarrollo. Algo que tuvimos muy en cuenta
fue que este tipo de juegos son ms senci
llos de desarrollar, y que solo realizaramos
un nivel de muestra.
Impactante, ver
dad?
Despus de con
cretar la idea a la
que queramosllegar, ideamos el
nombre del juego
y de los bandos, adems de dedicarnos adefinir lo primordial antes de empezar un
videojuego cualquiera: la historia. As fue
como surgieron nuestras ideas ocultas entre
explosiones elctricas de conexiones fre
cuentes de millones y millones de neuronas
la historia: Buenos y malos en el espacio se
disputan un gran mineral que todo lo hace
y todo lo puede. A esos buenos los deno
minamos Bandegades (humanos) a esos
malos los denominados Naghut (alienge
nas). Entonces empezamos como almas
atormentadas o simplemente como caba
llos desbocados a modelar la primera nave
y construir la programacin de una movili
dad vertical y horizontal (como se muestra
en la imagen). Despus de trabajar la movi
lidad y tener un movimiento bsico (logrado
en una media hora) y una nave principal ya
modelada (en el mismo tiempo), el mode
lador empez con ms nimo el diseo de
otra nave, mientras yo continuaba con laprogramacin. Entonces, por casualidades
de la vida, nos encontramos con un video
juego recin salido del horno: el juego deAvatar, la famosa pelcula de James Came
ron, y mirando un video en YouTube, vimos
una escena en la que apareca una nave
(como la de la imagen).
En ese momento todo dio un giro y nos
preguntamos: Por qu no hacerlo as?
Sabamos que sera ms difcil hacerlo
de esta forma; pero nuestro juego re
sultara ms novedoso sin esa aparien
cia clsica, puesto que le aadiramos
un escenario tridimensional (aspecto
que llama mucho la atencin hoy en
da), y adems nos exigira ms comodesarrolladores, ya que el 2D nos pare
ca muy sencillo.
Eyes BandegadesEYES BANDEGADES CRISTIAN GALLEGO
-
7/27/2019 UDev_2
12/282 www.unityspain.com
Comenzamos por crear una escena donde ocurrira el juego,
y empez tambin la ardua labor de mover una nave en ter
cera persona. La primera exclamacin de mi compaero el
modelador al ver la nave moverse fue: Guau, la nave anda!;
todo esto mientras l modelaba un terreno en Zbrush para
aadir al juego. Este nos lo imaginbamos como un satlitenatural muy similar a la luna; al principio era un escenario
lleno de crteres muy bien logrados. Poco a poco fuimos aa
diendo cosas como nitro, colisiones, ms detalles en el mapa,
una base, etc. Segn avanzbamos, vimos que a la nave le
haca falta un movimiento ms fluido, y prob varias cosas
para lograr un movimiento medianamente decente que se
asemejara ms a una nave en el espacio. Al empezar pareca
un colibr volando, pero despus de analizar juegos como
Starfox, not que la nave miraba primero hacia abajo y que
haca continuamente un movimiento como de ola, solo para
bajar y subir.
As fue como logr dar un movimiento ms fluido:
Esto da una sensacin de ola, y por lo tanto crea el efecto
de vuelo, el cual se completa con la animacin, un buen so
nido y buenos efectos de partculas; aunque, lamentable
mente, todo eso no es suficiente para sentir en tercera
persona el vuelo de una nave. Para mejorar el efecto, utilic
una cmara que tuviese un movimiento retardado cuando
la nave hiciese el movimiento de ola, para lograr ms flui
dez, y al fin quede un poco ms satisfecho porque el nuevo
movimiento estaba listo y era notoriamente ms natural
que el anterior. Hasta el momento todo iba bien. Tenamos
nuestra escena del satlite artificial, una nave con un vuelo
ms fluido y un escenario con algunos detalles. Al poco
tiempo de tener varias torretas enemigas y un escenarioplaneado, nos dej de gustar el aspecto de la luna marciana
y decidimos hacer otras cosas. Ideamos unas islas flotantes
al ms puro estilo del mismo avatar, pero en el espacio, y
empec a montar el nuevo escenario a medida que mi com
paero terminaba las islas flotantes donde se supone que
las naves nodrizas estaran ancladas para extraer el mineral,
tal y como muestra esta imagen:
Ya podis ir contando los cambios que se han hecho desde el
principio.
Continuamos entonces con la nueva escena, donde ya no habasuelo sino que todo estara en el espacio, mientras mi compaero
terminaba satisfactoriamente las naves y el escenario propuestos
en 3D y empezaba a trabajar con una cinemtica en 3D Max para
hacer un triler promocional con una cabecera llamativa. En las
primeras escenas, la nave principal aparece en los renders de una
forma muy destacada. Los renders estuvieron listos tras una se
mana de renderizado con los equipos que estbamos manejando
en ese momento. El video, que es el mismo que aparece al eje
cutar Eyes Bandegades, tiene una duracin de 144 minutos. De
manera imprevista, tuvimos la necesidad de cambiar la nave prin
cipal por otra cuyo diseo nos pareci ms apropiado para usarla
en el triler. Pero, tendramos que rehacer un render que tard
una semana en estar terminado! Al final vali muchsimo la pena
tanto trabajo, pues el cambio fue notable: la nueva nave tena
un aspecto ms aerodinmico que la anterior, que modelamos
en media hora, y era mucho ms llamativa.
Realizamos todos los arreglos correspondientes y empezamos a pre
parar el juego para el pblico, que al fin y al cabo solo sera un nivel.
Comenzamos a desarrollar la interfaz (HUD) y toda la partede comunicacin entre programacin y el jugador: contado
res de municiones, vida, etc.
Artculo
EYES BANDEGADES CRISTIAN GALLEGO
-
7/27/2019 UDev_2
13/28
Despus de terminar el triler de Eyes Bandegades nos pusi
mos a la tarea de anunciarlo en YouTube, proponiendo el 4
de junio como da de lanzamiento.
Trabajando en los ltimos detalles, por as decirlo, con el
juego an sin controles definidos, estuve intentando solucionar errores de rendimiento. Para empezar, el juego no suba
de 10 FPS, lo cual no era para nada bueno, y quedaba poco
tiempo para el lanzamiento. Revisando todo en general, me
di cuenta de que algo que consuma mucho rendimiento en
la escena era que las 24 torretas que hay en Eyes Bandegades
tenan un sphere collidergigante como triggery dentro de un
scriptdonde la funcin OnTriggerEnter estaba pendiente de
realizar las acciones apenas la nave entrase en el collider; note
que eso consuma muchos recursos y me toco reprogramar
el reconocimiento de distancia con un sencillo Vector3.Dis
tance. Hasta ah bien.
Se acercaba cada vez ms el da de lanzamiento definido haca
20 das, tiempo que pas realmente rpido, y cada vez apa
recan ms detalles que organizar. Se lanz inicialmente una
versin de Webplayer, con la estructura de juego que tena
mos hasta ese momento. Pronto aparecieron las quejas de
que el juego era demasiado pesado para Webplayer y el
tiempo de carga mayoritario result ser media hora, nada
menos! Nos dimos cuenta que no haba sido buena idea
poner el juego en Webplayer, y entonces lo exportamos a una
versin ejecutable. A partir de ese momento, empezamos a
recibir recomendaciones: los grficos atraan a los jugadores
y los consideraban buenos, pero por ejemplo, a la mayora
los controles les resultaban muy difciles. Como este, otros
tantos ejemplos de otros detalles que haba que corregir o
mejorar (lo cual era de esperar pues, despus de todo, el
juego era una versin Beta). Ya con esta informacin, empe
zamos a realizar los arreglos correspondientes de acuerdo a
los anlisis que nos iban llegando de la gente, que haca de
betatester. Implementamos mejoras de rendimiento, contro
les ms prcticos, un men mucho ms completo, botones
importantes (como el de reintentar) y, entre otras cosas,
aadimos el sistema de puntuacin y la posibilidad de selec
cionar el nivel de dificultad.
La motivacin de los jugadores
hizo que pensramos en hacer una
versin 2D del mismo juego
Hasta ese momento todo estaba mejorando: el juego era
mucho ms jugable y entretenido que antes y la diferencia conversiones anteriores, notable. Da a da han ido creciendo las
visitas a www.EyesBandegades.com y duplicndose cada mes.
La motivacin de los jugadores hizo que pensramos en hacer
una versin 2D del mismo juego; versin que se realiz en un
mes ya que al programador principal de esta versin, que
quera unirse al grupo de desarrollo, se le propuso tal tarea
para ello. Utiliz la misma arte que el 3D y las mismas naves,
a las que se aadi una ms denominada KAMIKAZE debido
a que est fabricada con escombros de metal para lanzarse
con intencin suicida hacia el enemigo.
Tanto la versin 3D como la 2D se pondran a prueba en el AnigamesExpo, un congreso latinoamericano de videojuegos y
animacin (www.anigamesexpo.com), al que IsoftStudios llev
el juego. Los asistentes quedaron muy contentos con su as
pecto grafico, y sobre todo, con la sencillez y capacidad de en
tretener al jugador con las que cuenta Eyes Bandegades 2D.
Durante todo este tiempo desde que se empez a desarrollar
Eyes Bandegades, el trasfondo del juego ha ido creciendo y
hacindose ms complejo, y ya casi hay historia para un libro.
Los aspectos de las naves Bandegades y Naghuts estn muy
bien definidos: de donde salieron, cul es su objetivo o suscreencias y dems informacin sobre las civilizaciones que
aqu aparecen. Para no extenderme ms, dir que pronto
vern ms de EYES, con secuencias de vdeo incluidas y
mucho ms entretenidas que nunca.
Sugerencias:
Antes de iniciar tu juego, crea la historia y un estudio de per
sonajes, todo bien estructurado para que a lo largo del juego
no vare mucho.
Es imprescindible crear un documento de diseo en cuyo
contenido estr definido el aspecto de los escenarios y, en ge
neral, toda la parte grafica del juego.
Tambin es muy importante crear un documento tcnico
donde se especifique tanto la programacin en general como
las mecnicas y toda la parte tcnica en si del videojuego a
desarrollar.
Para Eyes Bandegades no hicimos ninguna de estas cosas, y
ya habis visto todos los problemas que eso nos acarre,como los muchos cambios que debimos hacer para que el
juego mantuviese su identidad y lograse ser medianamente
13www.unityspain.com
Artculo
EYES BANDEGADES CRISTIAN GALLEGO
-
7/27/2019 UDev_2
14/284 www.unityspain.com
funcional y jugable; as que si queris evitar contratiempos
innecesarios, no estara de ms tener en cuenta lo anterior.
Seguramente, de nuestro accidentado proceso de desarrollo
para este videojuego se pueden extraer ms recomendacio
nes, pero esas fueron nuestras dificultades principales (que
a su vez desencadenaron otros inconvenientes) mientras trabajbamos en Eyes Bandegades. Sed organizados!
Mantener el nimo y el entusiasmo al desarrollar vuestro vi
deojuego es una de las cosas ms importantes a tener en
cuenta para la consecucin del proyecto, y ms en un des
arrollo con escasas posibilidades de proporcionar beneficio
econmico, tal y como es el caso.
www.Eyesbandegades.com , una fiel muestra de un vide
ojuego sin planificacin que nunca se nos pas por la cabeza que ira creciendo hasta este nivel en el que est.
Pronto, para todos vosotros, habr una versin donde se
narre esta fascinante historia sobre el videojuego Eyes
Bangades.
Artculo
EYES BANDEGADES CRISTIAN GALLEGO
-
7/27/2019 UDev_2
15/28
-
7/27/2019 UDev_2
16/28
Saludos a odos. Con el nacimieno de un
nuevo nmero de Udev, coninuaremos
desarrollando las ideas descrias en el an
erior nmero y aadiremos oras nuevas.
Esa seccin es orienaiva, y cabe desa
car que esa no es la manera perfeca de
rabajar, sino el orden y la imporancia
que yo le oorgo a los disinos aparados.
A rabajar!
Storyline
Ese aparado, especialmene ligado al in
cluido denro de Descripcin del pro
yeco, deber exender el resumen ya
mosrado a lo largo de 23 hojas aproxi
madamene. Deber mosrar la oalidad
del Soryline del juego y no un simple re
sumen.
Ese aparado deber incluir como m
nimo la aparicin de los personajes msrelevanes de la rama; as como sus ac
ciones y consecuencias, en caso de pose
erlas, sobre el reso de la accin o el
mundo que los rodea. Debemos recordar
qu es y no caer en la rampa de hacer
un relao lierario fansico como a odos
nos gusara. El lecor, en su mayora de
veces, ser un producor. Si ese quiere
leer avenuras se enreendr con sus gus
os personales, no con los nuesros.
Decisiones
Ese aparado es opcional. Nuesro juego
puede o no ener decisiones morales que
afecen al universo del videojuego. Incluir
las en un subaparado es decisin propia.
Personalmene, si el juego coniene nu
merosas decisiones y caminos a seguir,
mosrara en ese aparado 1 hoja com
plea con los ms relevanes.
Localizaciones
Ese aparado reunir la oalidad de los
enornos y localizaciones principales del
videojuego. No es necesario incluir en el
lisado las Subzonas, o escenarios deri
vados de los principales, ya que resula
obvio que un escenario es subdividido
en oros muchos y que esos limos esn
incluidos denro de un escenario principal.
Escenario 1
Diferencias respeco al reso de es
cenarios.
Mecnicas de juego incluidas. Breve
resumen.
Enorno.
Personaje/personajes conrolables.
False Screensho. (Opcional)
Mecnicas de juego
Sin lugar a dudas mi pare favoria. En
ese aparado, recogeremos odas y cadauna de las mecnicas de juego anerior
mene expuesas en el aparado Descrip
www.unityspain.com16
JESUS PANCORBO DAZDANDO A LUZ (2 PARTE)
Product Sheet
Cmo se hace?
-
7/27/2019 UDev_2
17/2817www.unityspain.com
Cmose
hace?
cin del proyeco y las describiremos con odo lujo de de
alles. Pongamos un ejemplo adapado a Clippox Exodus y
sus movimienos principales:
Movimieno
Caminar:
En Clippox Exodus el jugador podr ineracuar con el
personaje principal y hacerlo caminar por las diferenes
localizaciones de al manera.
Dos pulsadores semiinvisibles, ambos a cada lado de la
panalla ctl y que ocuparan la prctca oalidad de los
laerales permitrn, al pulsarlos de manera individual,
mover al personaje en la direccin que pulsa el jugador.
Pulsador izquierda
Permiir mover al personaje hacia la izquierda.
Pulsador derecha
Permiir mover al personaje hacia la derecha.
Salto
En Clippox Exodus exisirn dos maneras claramene
diferenciadas de hacer salar a nuesro personaje.
Salo en parado
El jugador deber de razar una diagonal, cuyo a
mao y direccin sern deerminanes, en cualquier
zona de la panalla para realizar un salo comn.
Salo en movimieno
En caso de necesiar un salo pronunciado, el jugador de
ber iniciar un movimieno de caminar hacia la direccin
deseada para despus, agiar el erminal levemene e ini
ciar as el salo. Su longiud siempre ser igual y superior a
la diagonal ms amplia razada en un salo comn.
Esa es una pequea muesra de lo que deberemos escribir
en nuesro Produc Shee, y que marcar profundamenela opinin de nuesro lecor.
Como habis podido comprobar, cada dealle es medido
y es as como debern de ser odas y cada unas de las me
cnicas de juego de nuesro ulo. Para algunas solo sern
necesarios un par de renglones y oras requerirn varias
pginas compleas o ms en exclusiva.
Cada detalle est medido
Su reflexin deber ser profunda, y nunca escribir por es
cribir. Una mecnica perfeca en un momeno deermi
nado, puede enrar en conflico con ora que puede ser
de uso obligado ms arde, debiendo reesrucurar odo
de nuevo. Desde mi puno de visa, odas las mecnicas
de juego debern de ser flexibles excepuando el esque
leo principal consiuido por el movimieno del personaje,
el cual deber ser fijado lo ms prono posible, eviando
as posibles quebraderos de cabeza.
Creo que la exensin de ese aparado puede andar enre
las 24 pginas. Con el iempo lograremos comprimir la in
formacin ms y ms sin perder un solo dealle en las des
cripciones. Una de las reglas de oro que un da me explica
ron, y que aplico a odos los aspecos de mi vida es la
siguiene:
Si un prrafo puede quedarse en una frase, hazlo. Si esa
frase tienes que repetirla ms adelantees que no lo has
hecho bien desde el principio
En resumidas cuenas, opimicemos el espacio y la calidad
de la informacin.
Temtica y gnero
Aqu deberemos dejar clara nuesra posura respeco al g
nero que queremos para nuesro videojuego. Si su emtca
es realisa, fanstca, o de oras caracerstcas, ambin de
ber quedar definida. En el momeno de la reunin con un
posible producor o alguien ineresado en el desarrollo del
videojuego, deber ser defendida a capa y espada.
Pienso que el espriu del videojuego es en la mene del
creador, y solo en su mene. Defenderlo en su momeno y
ms arde justficare con un rabajo excelene y acorde a lo
JESUS PANCORBO DAZDANDO A LUZ (2 PARTE)
-
7/27/2019 UDev_2
18/2818 www.unityspain.com
Cm
osehace?
que pensase y mosrase en su da es una muesra perfeca
de la principal caracerstca del buen diseador: creer en uno
mismo y ener fe en us propios proyecos hasa el final.
Estudio de mercado
Personalmene creo que es un aparado que solo debern
de rellenar aquellos con experiencia en el secor y que pue
dan aporar daos esadsicos claros de lo que engan enre
manos. En caso de no ser as, un producor decene aporar
esos anes de dare una respuesa. Exigirlos es lcio por
pare del diseador al igual que lcio no darlos por pare
del producor. Un ira y afloja diverido y enreenido.
Si no tenes los conocimienos necesarios, pero aun as quieres
inenarlo (eso muesra iners en aprender) esos son los da
os, a mi parecer, necesarios para complear ese aparado.
Ventas
Plaaforma
Nmero de venas aproximadas de la plaaforma se
leccionada para el videojuego.
Gnero
Nmero de venas aproximadas del gnero seleccio
nado para el videojuego.
limo supervenas
Nmero de venas aproximadas del limo videojuego
supervenas y caracersicas que lo asemejen con u
produco.
Esimacin de venas
Como la propia palabra indica, cunas venas calculas
y porqu.
Pblico objetivo
Porqu se debe apostar por tu proyecto
Hemos llegado al final de nuesro resumen sobre Como se
hace un Produc Shee. Todos esos aspecos son oriena
ivos, y esa es la formula con la cual yo rabajo a la hora de
plasmar mis ideas sobre el papel. Adaparlos a la formacin
y esilo de cada uno es imprescindible a la hora de doar de
personalidad al documeno.
Si he incluido los punos ciados aneriormene y no oros,
es porque considero que es eso lo que un producor espera
ver; el reso sobra ya que para ello exise el documeno de
diseo, que aclarar odo lo que pudiera quedar en el aire.
A rabajar y, Buena suere a odos!
JESUS PANCORBO DAZDANDO A LUZ (2 PARTE)
La originalidad no consiste en
decir cosas nuevas, sino en decir-las como si nunca hubiesen sido
dichas por otro
Johann Wolfgang Goehe (17491832)
-
7/27/2019 UDev_2
19/28www.unityspain.com 19
TUTORIAL
Bienvenidos a ese uorial de cmo crear un reproducor de vdeos en streamingpara Uniy3D.El objetvo es crear un mdulo, independienedel conexo en el que se quiera siuar, que seacapaz de ofrecer reproduccin de vdeos alojados en Inerne mediane streaming.
CONCEPTOS PREVIOS
Dado que es el primer uorial que os ofrezco,aclarar el modus operandique utlizo paraelaborar los scripts. Todos los uoriales queyo realice esarn escrios en C#. Podramos
esar horas hablando de venajas e inconvenienes sobre usar JavaScrip o C# pero ese noes el objetvo de los uoriales, as que simplemene dir que uso ese lenguaje porque escon el que me sieno ms cmodo.
Ya cenrados en la programacin de losscripts, cabe enumerar una serie de hbioso normas que suelo usar a la hora de programar, con el objetvo de hacer ms fcilla comprensin de los scripts.
Idioma
El idioma escogido para programar es el ingls. No hace fala justficar mucho esa de
cisin, es ms fcil que oros programadoresentendan qu hace una funcin o queguarda una variable si entende el nombrede sa. Lgicamene el nombre de ese tpode cosas tene relacin con su cometdo.
Variables miembro vs. variables locales
Por norma general, los scripts suelen enercienos de lneas, por lo que no endremosvisible la declaracin de las variables. Enesos casos, diferenciar a simple visa lasvariables que perenecen a la clase o lasque son de mbio local a la funcin es devial imporancia.
Hay muchos modos y prctcas para realizar eso. Yo personalmene me declinopor la que hace la siguiene diferenciacin:
Variables miembro: odas las variablesmiembro se escribirn empezando por elcarcer _ (underline o barra baja) seguidodel nombre de la variable empezando enminscula. En caso de ser un nombre com
pueso por diferenes palabras, lo escribiremos odo juno y capializando(poniendo en maysculas) la inicial de cada
una de las palabras (excepo la primera,como ya hemos comenado). Ejemplo:
in_num;
sring_num;
MovieTexure_movie;
Variables locales: ese tpo de variablesseguir las mismas reglas que las variablesmiembro, a excepcin de la barra baja (_)inicial: Ejemplo:
in i;
floa maxDuraton;
sring veryLongNameForAVariable;
Funciones
Las funciones seguirn una regla bsica:odo juno y empezando en mayscula.Ejemplo:
public void GePositon(in i)
VAMOS AL TAJO!
Lo primero que necesiamos es definir losesados en los cuales se podr enconrarel reproducor y acuar en consecuenciasegn sos. As, endremos que nuesro
Streaming VideoSTREAMING VIDEO
-
7/27/2019 UDev_2
20/2820 www.unityspain.com
reproducor se podr enconrar en 4 esados diferenes:STOP, PAUSE, PLAY, BUFFERING.
public enum VideoSae
{
STOP, PLAY, PAUSE, BUFFERING
}
Una vez enemos claros los esados de nuesro reproducor,viene el momeno de definir su comporamieno en cada unode esos esados.
Y QU VAMOS A REPRODUCIR?
Lgicamene, el primer paso que debemos realizar es decirleal reproducor qu vdeo debe reproducir. Tambin necesiamos decirle al reproducor qu parmeros queremos usarpor defeco y qu oros queremos usar personalizados. Asenonces, vamos a definir una funcin que cumpla con esosrequisios.
Pero anes de nada, enemos que declarar la clase del reproducor y alguna de sus variables miembros que guardarnoda la informacin aneriormene descria.
As pues, la declaracin de la clase sera la siguiene:
[RequireComponen(ypeof(AudioSource))]
public class Video2D : MonoBehaviour
{
}
La declaracin de la clase es una declaracin esndar de los
scripts de Uniy, derivando de la clase MonoBehaviour paraheredar odo el comporamieno necesario para que se ejecue denro de nuesra aplicacin. Cabe desacar la lnea queprecede a la declaracin de la clase:
[RequireComponen(ypeof(AudioSource))]
Dado que es un reproducor de vdeo, es lgico pensar quese ambin endr sonido para ser ejecuado, as que conesa lnea advertmos al moor que aada el componene detpo AudioSource al objeo en caso de que no enga ya unoaadido. As aseguramos que escucharemos siempre el sonido que emia el reproducor.
Ahora le oca el urno a las variables miembro del reproducor pero, cules necesiamos? Es imposible saber deanemano cunas necesiaremos y para qu las necesia
remos. Vamos a pensar que queremos que enga nuesroreproducor. Queremos que descargue de una URL unvdeo, queremos que se pueda personalizar su amao yposicin en panalla y su esilo del conorno. Esas seranlas ms bsicas, pero podis pensar ms aspecos que queris conemplar. Yo he pensado, a priori, las siguienes variables asociadas a su correspondiene comporamieno:
Rec _pos; // Posicin y amao del reproducor
MovieTexure_movie; // Pelcula a reproducir
in _deph; // Profundidad denro de la inerfaz
GUISyle _syle; // Estlo del conorno del vdeo
VideoSae _sae; // Esado en el que se encuenra
bool _play; // Queremos reproducirlo?
bool _wPos; // Queremos posicin personalizada?
bool _wSize; // Queremos amao personalizado?
in _videoBorder; // Borde del conorno del reproducor
Como podis ver, han aparecido ms variables de las quehemos mencionado, pero ya veris que odas ienen suuilidad.
PROFUNDIDAD DE LA INTERFAZ?
Quiz ms de uno se ha quedado con cara de pker al hablarde profundidad de la inerfaz. Pero la inerfaz no es algoplano? S, pero igual que en Phooshop, la inerfaz rabaja concapas, de al forma que puedas definir qu se ve por delaney qu queda ders denro de la inerfaz. Eso es muy tlcuando tenes muchos scripts que tenen que mosrar cosasen la inerfaz. Al no saber qu scriptse ejecua anes, la nicaforma de asegurar el orden es siuando cada cosa en unacapa. No nos gusara que el exo de consejos que hemos diseado quedara por ders de las barras de vida y no se pudiera leer, por ejemplo.
Ahora s, ya podemos definir la funcin para cargar un vdeo:
public void LoadMovie(sring url, Rec pos, in deph,GUISyle syle, bool wPos, bool wSize, in border)
{
WWW www = new WWW(url);
if( != null)
{
Debug.LogError(www.error);
}
else
{
_movie = ;
audio.clip = _movie.audioClip;
if(!_movie.isReadyToPlay)
{_sae = VideoSae.BUFFERING;
Tutorial
STREAMING VIDEO
-
7/27/2019 UDev_2
21/28
}
else
{
_sae = VideoSae.STOP;
}_deph = deph;
_syle = syle;
_wPos = wPos;
_wSize = wSize;
_pos = new Rec(1,1,1,1);
_videoBorder = border;
if(_wPos)
{
_pos.x = pos.x;
_pos.y = pos.y;
}
if(_wSize)
{
_pos.widh = pos.widh;
_pos.heigh = pos.heigh;
}
}
}
Vamos a hablar primero de los argumenos de la funcin:
sring url: direccin web donde es alojado el vdeoa reproducir.
Rec pos: recngulo con la posicin y/o el amaodel reproducor.
in deph: capa denro de la inerface en la que se dibujar el reproducor.
GUISyle syle: estlo a usar en el conorno del reproducor.
bool wPos: indica si vamos a usar la posicin por defeco o una personalizada.
bool wSize: indica si vamos a usar el amao por defeco o uno personalizado.
in border: amao del borde del conorno del reproducor.
Ahora ya podemos pasar a analizar el cuerpo de la funcin. En primer lugar, creamos un objeo de ipo WWWpara hacer la conexin con la direccin del vdeo. En casode que haya algn error, avisaremos de ese y finalizaremos la funcin. En caso de una conexin saisfacoria,asignaremos la pelcula a la variable encargada de ello.Para que se pueda escuchar el sonido, hay que asignarexplciamene a un AudioSource el clip de sonido de lapelcula. As pues, accedemos al AudioSource del objeo
(ya nos hemos asegurado anes de que haya uno) parahacer la asignacin. El siguiene paso es conrolar si elvdeo ya es cargado o no para poder ser reproducido.
Como se raa de un vdeo en streaming, puede ser quenecesie unos segundos anes de poder comenzar con lareproduccin. Gracias a la propiedad isReadyToPlay podemos conrolar ese aspeco. A parir de aqu, odas lasdems insrucciones son la asignacin de los parmerosa las variables miembro de la clase. En caso de quererusar los parmeros por defeco del reproducor, solo necesiamos pasar como argumeno null o 0 en caso de serun enero.
Las acciones vienen a ser como el
mando a distancia del reproductor,
segn la cantidad de acciones que
definamos, nuestro mando tendr
ms botones o menos
OJO CON LA CLASE RECT!
Podras pensar que si no quieres ni amao ni posicin personalizada, podras pasar como argumeno de la clase Rec elvalor null. En la mayora de casos eso funcionara, pero enese caso hay un problema: esa clase es definida como nonullable. Qu significa eso? Significa que no puede pasarseen ninguna pare del cdigo un valor null cuando se es esperando un objeo de esa clase. Por esa razn se necesiade los booleanos wPos y wSize para conrolar qu queremosen cada caso.
Perfeco, ya enemos nuesro esrucura ms bsica: enemosdefinida una clase que nos permie cargar y buffearun vdeo.
Ahora solo nos fala definir las acciones que puede realizar elreproducor y definir qu debe hacer se en cada uno de losesados.
Vamos por pares, primero definiremos las acciones. Las acciones vienen a ser como el mando a disancia del reproducor, segn la cantdad de acciones que definamos, nuesromando endr ms boones o menos, lgico. En ese uorialvamos a definir las ms bsicas de cualquier reproducor:play, pause y stop.
public void Play()
{
if(_movie != null)
{
_sae = VideoSae.BUFFERING;
_play = rue;
}else
{
Debug.LogError(No movie loaded. Please, use LoadMovie() functon o load a movie.);
}
}
public void Pause()
21www.unityspain.com
Tutorial
STREAMING VIDEO
-
7/27/2019 UDev_2
22/2822 www.unityspain.com
{
if(_movie != null)
{
_movie.Pause();
audio.Pause();
}
_sae = VideoSae.PAUSE;
}
public void Sop()
{
if(_movie != null)
{
_movie.Sop();
audio.Sop();
}
_sae = VideoSae.STOP;
}
Como podis observar, hemos declarado las funciones comopblicas para que, desde donde se conrole el reproducor, sepuedan realizar las acciones. La esrucura de odas es muy parecida, a excepcin de la funcin Play(). Por qu no llamamosa la funcin _movie.Play(); del vdeo para reproducirlo? Muyfcil, puede ser que el vdeo an no es liso para empezar sureproduccin, por lo que no veramos nada y podra derivar enerrores inesperados. Pero an hay ms, cuando an no es lisoel vdeo para ser reproducido, el moor an no sabe qu medidas endr y, por consiguiene, define unas por defeco (16x16).Se podra dar el caso de ener en medio de la panalla un minsculo recngulo con el estlo definido por el usuario hasaque el vdeo esuviera liso para su reproduccin. Definiendoas la funcin, nos aseguramos de que no empiece a reproducirningn video hasa que no es liso.
Ahora ya enemos las acciones que cambian el esado del reproducor, ahora vamos a conrolar qu pasa en cada uno deesos esados. Como el reproducor hereda de MonoBehaviour, podemos usar las funciones Updae() y OnGUI() paradefinir el comporamieno del reproducor.
Comenzamos por la funcin Updae():
void Updae ()
{
if(_movie != null)
{
swich (_sae)
{
case VideoSae.STOP:
break;
case VideoSae.PLAY:
break;
case VideoSae.PAUSE:
break;
case VideoSae.BUFFERING:
if(_movie.isReadyToPlay)
{
if(_play)
{
_sae = VideoSae.PLAY;
_movie.Play();audio.Play();
}
else
{
_sae = VideoSae.STOP;
}
if(!_wPos)
{
if(_wSize)
{_pos.x = (Screen.widh _pos.widh) * 0.5f;
_pos.y = (Screen.heigh _pos.heigh) * 0.5f;
}
else
{
_pos.x = (Screen.widh _movie.widh) * 0.5f;
_pos.y = (Screen.heigh _movie.heigh) * 0.5f;
}
}
if(!_wSize)
{
_pos.widh = _movie.widh;
_pos.heigh = _movie.heigh;
}
}
break;
defaul:
break;
}}
}
Tutorial
STREAMING VIDEO
-
7/27/2019 UDev_2
23/28
Fijaos que enemos odos los esados conemplados en esafuncin, aunque no necesariamene endremos que haceralgo en cada uno de ellos. Es ms, para el funcionamieno bsico del reproducor solo necesiamos conrolar el esado VideoSae.BUFFERING.
Lo primero que debemos verificar, es si el vdeo es preparado para ser reproducido. En caso negatvo endremos queesperar un poco ms hasa que es liso. Cuando ya lo es,endremos que comprobar si hemos accionado el bon playdel reproducor para empezar su reproduccin o, por el conrario, solo lo hemos cargado y an no queremos visionarlo.Cuando ya es liso, ambin debemos configurar amao yposicin del reproducor segn lo que el usuario haya pedidoaneriormene. En caso de usar los valores por defeco del reproducor, la pelcula ser reproducida con el amao natvode sa y cenrada en panalla.
Perfeco, ahora ya solo nos fala que se visualice por panalla,as que hay que definir la interface. Para hacer an ms inde
pendiene se mdulo de su conexo, definiremos las acciones denro de la misma clase para que no sea necesarioconrolar desde fuera esas acciones. Para ello definiremosun aspeco parecido a los reproducores de Inerne.
Anes de definir la funcin OnGUI() declararemos las variablesnecesarias para el diseo de los boones de las acciones.
public Texure _playTexure;
public Texure _pauseTexure;
public Texure _sopTexure;
public GUISyle _playSyle;
public GUISyle _pauseSyle;
public GUISyle _sopSyle;
Hemos declarado las variables como pblicas para que seafcil desde el edior configurarlas. sas variables servirnpara definir el aspeco visual de los boones que permitrnlas acciones en el reproducor.
Ahora s, ya solo nos queda disear la pare visual:
void OnGUI()
{
GUI.deph = _deph;swich (_sae)
{
case VideoSae.STOP:
break;
case VideoSae.PLAY:
if(_syle != null)
{
GUI.Label(new Rec(_pos.x _videoBorder,_pos.y _videoBorder, _pos.widh + _videoBorder * 2,
_pos.heigh + _videoBorder * 2), );
}
GUI.DrawTexure(_pos, _movie);
if(_pos.Conains(Inpu.mousePositon))
{
if(GUI.Label(new Rec(_pos.x + (_pos.widh _pauseTexure.widh) * 0.5f, _pos.y + (_pos.heigh _pau
seTexure.heigh) * 0.5f, _pauseTexure.widh, _pauseTexure.heigh),
,
_pauseSyle))
{
Pause();
}
}
break;
case VideoSae.PAUSE:
if(_syle != null)
{
GUI.Label(new Rec(_pos.x _videoBorder,_pos.y _videoBorder, _pos.widh + _videoBorder * 2,_pos.heigh + _videoBorder * 2), );
}
GUI.DrawTexure(_pos, _movie);
if(GUI.Buon(new Rec(_pos.x + (_pos.widh _playTexure.widh) * 0.5f, _pos.y + (_pos.heigh _playTexure.heigh) * 0.5f, _playTexure.widh,_playTexure.heigh),
,
_playSyle))
{
Play();
}
break;
case VideoSae.BUFFERING:
GUI.Label(new Rec(Screen.widh * 0.5f 50,Screen.heigh * 0.5f 10, 100, 20), Loading video);
break;defaul:
break;
}
}
Igual que en la funcin Updae(), hay que conemplarcada uno de los esados del reproducor, ya que no mosraremos lo mismo cuando es cargando o cuando esreproduciendo, por ejemplo. Lo primero que hay quehacer es asignar la capa de la inerface que se ha escogido al moor para que lo dibuje en el orden deseado. Aconinuacin hay que conrolar qu se muesra en cadauno de los esados. Empezaremos por el ms sencillo: VideoSae.BUFFERING. Como an no podemos mosrar elvdeo, lo nico que haremos es mosrar un mensaje al
23www.unityspain.com
Tutorial
STREAMING VIDEO
-
7/27/2019 UDev_2
24/2824 www.unityspain.com
usuario para que sepa que se es cargando el vdeo y
que iene que esperar. VideoSae.PLAY: en ese esado
la insruccin principal es:
GUI.DrawTexure(_pos, _movie);
Con esa insruccin mosraremos el vdeo en panalla. Elreso de cdigo es para mosrar el borde en caso de que el
usuario as lo haya requerido y mosrar el bon depause en
caso de ener el ran encima de la zona del vdeo, imiando
as el aspeco web.
En el caso de VideoSae.PAUSE endremos prctcamene elmismo cdigo pero cambiando la accin en caso de presionarel bon deplay, en ese caso.
LISTO!
Pues con eso ya enemos creado un reproducor bsico
para Uniy donde podremos reproducir cualquier vdeo mediane streaming. A parir de ahora, para cualquier juegodonde se requiera reproducir algn ipo de vdeo en inerfaz, podris usar ese mdulo sin mayores dificulades. Espero que hayis disfruado y aprendido cosas nuevas conese uorial. Hasa la prxima!
Tutorial
STREAMING VIDEO
Para colaborar con Udev o anunciarse en
sus pginas, mandad un correo a:
-
7/27/2019 UDev_2
25/28www.unityspain.com 25
ARTCULO
En ese artculo hablaremos de una de las mejores libreras grauias para Uniy, ano que
debera enconrarse inegrada denro de las
apis de Uniy.
iTween, creada porpixelplacement, es una li
brera para animaciones basada en la premisa:
inpu mnimo para oupu mximo. La idea
es hacer la vida ms sencilla cuando queremos
agiar, girar, mover, fundir, colorear, conrolar
audio, hacer fundidos enre cmaras y casi
cualquier cosa que e planees hacer en Uniy.
En su ncleo, iTween es un sisema de inerpo
lacin que oma un valor y lo anima hasa oro
durane una candad de empo. Pero donde
de verdad brilla iTween es en su sinaxis espec
fica para cada accin que nos libra de ener que
programar muchas lneas y nos deja ms en la
posicin de un direcor de cine. Gracias a iTween
podremos acelerar nuesro rimo de rabajo sin
sacrificar calidad por el camino.
Anes de enrar a ver cmo usar iTween, vea
mos el porqu de su exisencia. En Uniy,
como en cualquier sisema, odo se puedehacer de muchas formas. Podemos animar
fuera de Uniy o con el sisema de animacin
incluido en Uniy mediane un timeline; pode
mos uilizar JavaScrip, C# o Boo y cambiar las
cosas a mano con nuesro cdigo. Es posible
que nos demos cuena de que esamos juso
en medio de esas dos ramas; que ni somos los
mejores programadores para animar siempre
por cdigo, ni enemos lo conocimienos para
uilizar una herramiena exerna a Uniy. Por
supueso, no es necesario enconrarse en ese
puno. Podemos ser unos brillanes progra
madores y usar iTween por comodidad ya
que, en ese caso concreo, que su uso sea
ms sencillo no lo hace ms simple. iTween ya
ha sido uilizado por grandes y pequeos es
udios, sigue las bases slidas de las libreras
del mundo de Adobe Flash.
En general, iTween es rpido, eficiene, senci
llo de usar y encaja en cualquier proyeco:desde acciones muy simples a mecnicas de
juego complejas.
Por dnde empiezo?
Si ya esas convencido de al menos
probar iTween, lo puedes descargar
de forma compleamene grauia desde
hp://iween.pixelplacemen.com. iTween es
un solo fichero C# que puede ser usado desde
cualquier lenguaje soporado por Uniy, ade
ms de odas las versiones de Uniy. Si quieres
usarlo desde JavaScrip o Boo necesiaras
crear la carpea Plugins denro de u carpeaAsses. Si lo vas a usar desde C# solo es nece
sario que lo sies denro de la carpea Asses.
Esa es oda la insalacin, realmene sencilla,
siguiendo la lnea de inpu mnimo para ou
pu mximo.
Hola mundo
Para empezar con un primer ejemplo prcico,
hay algunas cosas que debemos ener claras:
Casi odos los modos de iTween ienen 2
formas, una simple y ora personalizable.
iTweenITWEEN DAVID COLLADO
-
7/27/2019 UDev_2
26/2826 www.unityspain.com
Las versiones personalizables usan hashtables para sus
propiedades.
Casi odos los modos de iTween necesian una referencia a un
GameObjec.
iTween puede ser uilizado denro de la funcin Updae de
Uniy. Hay modos especficos incluidos en iTween pensados
precisamene para acciones repeiivas y que ofrecen un
mayor rendimieno.
iTween puede hacer cienos de cosas pero, en esa ocasin, ve
remos algo sencillo. Quizs en prximos nmeros de UDev vea
mos ms ejemplos aunque, como siempre, algo de invesigacin,
los ejemplos depixelplacementen la web y las dudas que podis
resolver en el foro de Uniyspain os ayudarn a indagar para vues
ros proyecos.
El ejemplo que vamos a ver es movernos de una posicin a
ora. El modo de iTween para hacer eso es MoveTo().
Vamos a animar un GameObjec desde su posicin acual
hasa (2,0,0) durane dos segundos usando la versin sim
ple del modo MoveTo():
iTween.MoveTo(gameObject,Vector3(2,0,0),2);
Simple y fcil, pero si queremos ener ms conrol sobre la ani
macin, debemos usar la versin personalizable del modo Mo
veTo() y darle las propiedades en una Hashable:
iTween.MoveTo(gameObject,{x:2,time:3,
loopType:pingPong,delay:1});
Esa llamada animar el GameObjec movindolo desde su posi
cin acual a la posicin 2 sobre el eje x durane 3 segundos, pero
adems rerasar la animacin 1 segundo y har un efeco ping
pong para moverse adelane y ars.
Para liberar odo el poder de iTween, lo mejor es recu
rrir a las versiones personalizables de cada modo y
as poder modificar odos sus parmeros. La documen
acin de iTween la podis enconrar aqu: hp://i
ween.pixelplacemen.com/documenaion.php .
Pero las hashtables son muy feas
Son muchos parmeros que configurar y con los que jugar. De
hecho, MoveTo() es capaz de omar una serie de punos en el es
pacio que pueden ser uilizado como camino a seguir. El nicoproblema es que esas posibilidades son ms feas, pero se
puede vivir con ellas.
Donde realmene las hashtables se vuelven feas es en C#, veamos
un ejemplo de cmo componer una hashtable en C#:
Hashtable parameters = new Hasthtable();
parameters.Add(x,2);
parameters.Add(time,3);
parameters.Add(looptype,iTween.LoopType.pingPong);
parameters.Add(delay,1);
iTween.MoveTo(gameObject,parameters);
6 lneas de cdigo! En Javascrip odo iba en una sola lnea. La
verdad es que en comparacin, las hashtables en Javascrip no
parecen an feas, verdad? Eso no sigue mucho la idea base ders de iTween (recordad, inpu mnimo para oupu mximo);
pero no debemos ener miedo, ya que iTween ofrece una solu
cin para eviar esa locura y uilizar las hashtables de una forma
ms similar a la visa en Javascrip: Hash(). Con el modo Hash()
podemos hacer una hashtable de la siguiene forma:
iTween.MoveTo(gameObject, iTween.Hash(x,2,time,3,
loopType,pingPong, delay,1));
Personalmene, creo que esa solucin es mucho mejor que aa
dir odos los parmeros uno a uno uilizando una lnea de cdigo
para cada uno. Por mis gusos personales prefiero C# pero en ese
caso es de agradecer que iTween apore esa opcin de compo
ner las hashtables que ahorra mucho iempo.
Conclusin
iTween se acualiza con mucha frecuencia, y iene varios ejemplos
en su web, adems de oda la documenacin. Segnpixelpla
cement, iTween se ofrece de forma oalmene grauia como
compensacin a esa comunidad que ano le ha ayudado y que
le ha hecho llegar al puno en el que se encuenra su carrera acualmene. Creo que debemos agradecer odo el rabajo quepi
xelplacementha llevado a cabo, y no hay mejor forma para ello
que incluir iTween desde ahora en odos vuesros proyecos.
Artculo
ITWEEN DAVID COLLADO
-
7/27/2019 UDev_2
27/28
-
7/27/2019 UDev_2
28/28