Vous êtes sur la page 1sur 66

La Fase de Diseo

QU vamos a hacer?

CMO lo vamos a hacer?

g. 1

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1. Seleccin de herramientas 1.1 Motor grfico. 1.2 Motor fsico. 1.3 Herramienta de modelado y animacin. 1.4 Lenguaje de programacin. 1.5 Gestor de proyectos.

g. 2

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1 Seleccin del motor grfico

1.1.1 Motores profesionales orientados a videojuegos FPS. 1.1.2 Motores profesionales de propsito general. 1.1.3 Algunos motores libres. 1.1.4 Motores privados. 1.1.5 Por qu elegir Unity 3D?
Gestin de Proyectos: La Fase de Diseo

g. 3

1.1.1 Motores profesionales orientados a videojuegos FPS CryEngine y Unreal Development Kit (UDK)

La Fase de Diseo

g. 4

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.1 Motores profesionales orientados a videojuegos FPS Ventajas:

Perfectos para realizar un videojuego shooter. Basados en resultados de videojuegos comerciales. Su lgica de funcionamiento es en general ms sencilla.

g. 5

Gestin de Proyectos: La Fase de Diseo

1.1.1 Motores profesionales orientados a videojuegos FPS Desventajas: No sirven para hacer videojuegos de propsito general. Orientados slo a plataformas de ltima generacin. Su lgica de funcionamiento no permite modificar ciertos aspectos mediante programacin pura. Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo

g. 6

La Fase de Diseo
1.1.2 Motores profesionales de propsito general Unity 3D y Torque

g. 7

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.2 Motores profesionales de propsito general Ventajas:

Sirven para trabajar en cualquier tipo de proyecto. Permiten construir proyectos para cualquier plataforma. Admiten varios lenguajes de programacin.
Gestin de Proyectos: La Fase de Diseo

g. 8

La Fase de Diseo 1.1.2 Motores profesionales de propsito


general Desventajas:

g. 9

No tienen buenas funcionalidades para cualquier tipo de juego. Se tiende a generar pequeos proyectos multiplataforma. Requieren programacin orientada a objetos. Sus paquetes no provienen de Gestin de Proyectos: La Fase de Diseo videojuegos comerciales (Calidad).

La Fase de Diseo
1.1.3 Algunos motores libres OpenGL y Ogre

g. 10

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.3 Algunos motores libres Ventajas:

No es necesario pagar licencia. Mucha documentacin. Muchos recursos.

g. 11

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.3 Algunos motores libres Desventajas:

Menor calidad grfica en general. Ms difciles de usar. Ms propensos a errores de funcionamiento o carencias.

g. 12

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.4 Motores privados

g. 13

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.4 Motores privados Ventajas:

Permite a las empresas crear productos nicos. Pueden especializarse en funcionalidades especficas. Incitan a la competitividad, la investigacin y el desarrollo.
Gestin de Proyectos: La Fase de Diseo

g. 14

La Fase de Diseo
1.1.4 Motores privados Desventajas: Es necesario adaptarse a ellos. Accesibles nicamente desde la empresa propietaria. Hacen perder "tiempo" a otros motores para adaptarse.

g. 15

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.5 Por qu elegir Unity 3D? http://unity3d.com/

g. 16

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.1.5. Por qu elegir Unity 3D? Accesible de manera gratuita. Creciente comunidad de usuarios. Creciente cantidad de documentacin y recursos. Para todas las plataformas. Para todas las herramientas de modelado. Admite varios lenguajes de programacin. Sirve para cualquier tipo de proyecto. Permite trabajar de manera rpida y eficiente. Permite buena gestin y reutilizacin de recursos del proyecto. Excelente curva de aprendizaje.

g. 17

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2 Seleccin del motor fsico

1.2.1 Por qu es importante contar con un buen motor fsico? 1.2.2 Posibilidades de un motor fsico. 1.2.3 Bullet como motor libre. 1.2.4 Havok como motor comercial con grandes funcionalidades. 1.2.5 Nvidia PhysiX como motor comercial ms utilizado.
Gestin de Proyectos: La Fase de Diseo

g. 18

1.2.1 Por qu es importante contar con un buen motor fsico?

La Fase de Diseo

Resulta imposible sustituirlo mediante programacin. Nos ofrece comportamiento realista sin trabajo adicional. Gran cantidad de minijuegos se basan en ellos. Casi todos los grandes videojuegos los utilizan. Distintos motores ofrecen rendimientos muy distintos. g. 19 Distintos motoresLa Fase de Diseo Gestin de Proyectos: ofrecen posibilidades

La Fase de Diseo
1.2.2 Posibilidades de un motor fsico Ragdoll Physics

http://www.youtube.com/watch?v=GzkXubAQ

g. 20

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2.2 Posibilidades de un motor fsico Fsica de gravedad y colisiones

http://www.youtube.com/watch?v=qU1V0c_k9
Y no es para menos: http://www.youtube.com/watch?v=YG5qDeWHNmk

g. 21

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2.2 Posibilidades de un motor fsico Destrucciones procedurales y joints

http://www.youtube.com/watch?v=a06hAe74

g. 22

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2.3 Bullet como motor libre

No es necesario pagar costes de licencia por usar el motor. Eficiencia realmente baja en comparacin con los comerciales. Pocas posibilidades en comparacin con los comerciales. Tercer motor ms utilizado en videojuegos comerciales.
Gestin de Proyectos: La Fase de Diseo

g. 23

La Fase de Diseo
1.2.3 Bullet como motor libre

Gestin de Proyectos: La Fase de Diseo

g. 24

La Fase de Diseo
1.2.4 Havok como motor comercial con grandes funcionalidades Licencia privativa. Slo para grandes proyectos (Star Wars, Diablo III, etc.) Destrucciones procedurales. Fsica de joints. Segundo motor ms usado en videojuegos comerciales.

g. 25

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2.4 Havok como motor comercial con grandes funcionalidades

g. 26

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2.4 Nvidia PhysX como motor comercial ms utilizado Aprovechamiento del procesamiento grfico multincleo. Avalado por Nvidia. El motor fsico ms utilizado en videojuegos comerciales. Motor de fsicas integrado en Unity 3D...

g. 27

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.2.5 Nvidia PhysX como motor comercial ms utilizado

g. 28

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.3 Seleccin de la herramienta de modelado y animacin

1.3.1 Posibilidades de una herramienta de modelado y animacin. 1.3.2 3D Studio Max. 1.3.3 Blender.

Y por supuesto muchsimas otras como Cinema 4D, Maya, Wings 3D, Milk Shape, Sketchup, etc.
Gestin de Proyectos: La Fase de Diseo

g. 29

La Fase de Diseo
1.3.1 Posibilidades de una herramienta de modelado y animacin Modelado de elementos estticos. Modelado en forma de T. Modelado a partir de vistas. Modelado escultural (Z-Brush). Herramientas de reduccin de vrtices.

g. 30

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.3.1 Posibilidades de una herramienta de modelado y animacin

http://www.youtube.com/watch?v=LrZ2EeROp
Gestin de Proyectos: La Fase de Diseo

g. 31

La Fase de Diseo
1.3.1 Posibilidades de una herramienta de modelado y animacin Animacin sencilla por interpolacin. Animacin de bpedos. Animacin de N-podos (EA Games). Animacin por visemas. Animacin basada en reconocimiento corporal (Kinect).

g. 32

Gestin de Proyectos: La Fase de Diseo

1.3.1 Posibilidades de una herramienta de modelado y animacin Buen ejemplo de animacin facial entre las demos oficiales de Ogre 3D: http://www.ogre3d.org/download/demos Ejemplo de captura de movimiento con Kinect:

La Fase de Diseo

g. 33

http://www.youtube.com/watch?v=EiwAlGtCCU Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.3.2 3D Studio Max Software con licencia. Extensamente utilizado en videojuegos comerciales. Ofrece todas las funciones de modelado y animacin. Generalmente un paso por delante de Blender.

g. 34

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.3.2 3D Studio Max

g. 35

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.3.3 Blender Software libre. Mismas funcionalidades que cualquier otra herramienta. Interfaz menos usable. En general, un paso por detrs de 3D Max.

g. 36

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.3.3 Blender

g. 37

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.4 Seleccin del lenguaje de programacin

1.4.1 Dependencia del engine. 1.4.2 Orientacin a objetos. 1.4.3 En Unity: Javascript o C#?

g. 38

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.4.1 Dependencia del engine La dependencia implica utilidad slamente dentro del engine. Puede favorecer el flujo de desarrollo con el engine en cuestin. Puede dificultar la adaptacin a otros engines.

g. 39

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.4.1 Dependencia del engine En Unity 3D:

Javascript: Sencillo, breve, tipado dbil, pequeos proyectos. C#: Ms extenso, tipado fuerte, grandes proyectos. Boo: Similar a C#, apenas se utiliza. Cuenta con lenguajes para todo propsito. Gestin de Proyectos: La Fase de Diseo

g. 40

La Fase de Diseo
1.4.1 Dependencia del engine En Unity 3D:

Javascript: Sencillo, breve, tipado dbil, pequeos proyectos. C#: Ms extenso, tipado fuerte, grandes proyectos. Boo: Similar a C#, apenas se utiliza. Cuenta con lenguajes para todo propsito. Gestin de Proyectos: La Fase de Diseo

g. 41

La Fase de Diseo
1.4.1 Dependencia del engine En CryEngine y UDK: Lenguajes exclusivos para el engine. En Torque: Java y C++ son lenguajes casi equivalentes.

g. 42

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.4.2 Orientacin a objetos Ofrece ms tipos de dato y clases especficas. Puede acercarse ms al funcionamiento el motor. Ofrece una mejor reutilizacin de cdigo. Mejor organizacin de proyectos. Ofrece mtodos de alto nivel en lugar de simples operaciones aritmtico-lgicas.

g. 43

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.4.2 Orientacin a objetos Prctica: Piensa en las operaciones necesarias para mantener un determinado objeto 3D mirando a otro y persiguindolo por el escenario. Cuntos cambios de posicin y de rotacin en 3D seran necesarios en cada frame de ejecucin?
Gestin de Proyectos: La Fase de Diseo

g. 44

La Fase de Diseo
1.4.3 En Unity 3D: Javascript o C#? Javascript: Menos lneas de cdigo. Ms productivo en pequeos proyectos. Errores ms fcilmente manejables. Sintaxis ms sencilla. No gestiona matrices multidimensionales.

g. 45

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.4.3 En Unity 3D: Javascript o C#? C#: Ms lneas de cdigo. Ms productivo en grandes proyectos. Ms propenso a errores. Sintaxis ms compleja. Gestiona cualquier tipo de dato. Supera las posibilidades de Javascript.

g. 46

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
1.5 Gestor de proyectos SVN, Google Code, etc.

Slo para subidas de versin estables. No recomendados para tareas puntuales. Evitar gestores que "insultan a la inteligencia del usuario".
Gestin de Proyectos: La Fase de Diseo

g. 47

La Fase de Diseo
1.5 Gestor de proyectos

Sistema de numeracin de versiones. No olvidar las copias de seguridad. Nombrar un gestor de configuraciones.

g. 48

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2. Diagramas de jerarqua

Dan una visin del diseo de la solucin desde el motor. Establecen las distintas relaciones entre entidades. Determinan modos de implementar cada tipo de relacin. Generan el conjunto de scripts necesarios. Evitan el caos en la fase de codificacin. Deben afrontarse despus de un buen anlisis. Gestin de Proyectos: La Fase de Diseo g. 49 Imprescindible tener solventada la

La Fase de Diseo
2. Diagramas de jerarqua 2.1 Tipos de relacin. 2.2 Extraccin de clases

g. 50

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1 Tipos de relacin La fase de anlisis determina qu entidades participan en el problema a resolver. En la fase de diseo determinar cmo se relacionan entre ellas.
Gestin de Proyectos: La Fase de Diseo

g. 51

La Fase de Diseo
2.1 Tipos de relacin 2.1.1 Jerrquica. 2.1.2 Instancia. 2.1.3 Modificacin. 2.1.4 Lectura. 2.1.5 Destruccin. 2.1.6 Invocacin a mtodo.

g. 52

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.1 Jerrquica Slo entre entidades que son claramente objetos. El objeto hijo queda asociado a la Transform* del objeto padre. El hijo se representa debajo de padre en el diagrama.

*Transform en Unity hace referencia a la posicin, rotacin y escala del objecto.


Gestin de Proyectos: La Fase de Diseo

g. 53

La Fase de Diseo
2.1.1 Jerrquica Ejemplo: Una caja (C) prendida con fuego (F)
C C
Jerarqua

F F

g. 54

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.1 Jerrquica Ejemplo: Un jugador (J) portando un hacha (H)
JJ
Jerarqua

H H

g. 55

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.2 Instancia Slo entre entidades que son claramente objetos. Un objeto crea una instancia (Clon) de otro. El objeto creado se representa a la derecha del creador.

g. 56

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.2 Instancia Ejemplo: Un lanzagranadas (L) dispara una granada (G)
L L
Instancia

G G

g. 57

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.3 Modificacin

Slo la puede realizar un objeto sobre un componente o variable. El componente o variable puede ser del propio objeto o de otro. Por legibilidad, el objeto que ve modificado se sita a la derecha.
Gestin de Proyectos: La Fase de Diseo

g. 58

La Fase de Diseo
2.1.3 Modificacin Ejemplo: Un enemigo (E) quita 1 a la vida (V) del personaje (P)
E E
Modifica V

P P

g. 59

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.3 Modificacin Ejemplo: El personaje (P) incrementa su vida (V)
Modifica V

P P

g. 60

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.4 Lectura

Slo la puede realizar un objeto sobre un componente o variable. El componente o variable puede ser del propio objeto o de otro. Por legibilidad, el objeto ledo se sita a la derecha.
Gestin de Proyectos: La Fase de Diseo

g. 61

La Fase de Diseo
2.1.4 Lectura Ejemplo: El interfaz (I) consulta la vida (V) de un enemigo (E)
II
Lectura V

E E

g. 62

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.5 Destruccin

Slo la puede realizar un objeto sobre otro objeto. El objeto a destruir puede ser el propio objeto u otro.

g. 63

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.1.5 Destruccin Ejemplo: El interfaz (I) consulta la vida (V) de un enemigo (E)
II
Lectura V

E E

g. 64

Gestin de Proyectos: La Fase de Diseo

La Fase de Diseo
2.2. Extraccin de clases

Parten de cada diagrama de jerarqua. Generan una visin de cada script necesario. Distinguen todas las variables necesarias y sus tipos. Distinguen todos los mtodos necesarios y sus parmetros.
Gestin de Proyectos: La Fase de Diseo

g. 65

La Fase de Diseo
2.2. Extraccin de clases Prctica (45 minutos) Extraer clases de los casos prcticos del curso a partir del ejemplo de la plantilla:

http://trinit.es/unity/doc/plantillas/classes.odp
Gestin de Proyectos: La Fase de Diseo

g. 66

Vous aimerez peut-être aussi