Académique Documents
Professionnel Documents
Culture Documents
QU vamos a hacer?
g. 1
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
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
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
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
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
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
La Fase de Diseo
1.1.3 Algunos motores libres Ventajas:
g. 11
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
La Fase de Diseo
1.1.4 Motores privados
g. 13
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
La Fase de Diseo
1.1.5 Por qu elegir Unity 3D? http://unity3d.com/
g. 16
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
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
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
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
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
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
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
La Fase de Diseo
1.2.4 Havok como motor comercial con grandes funcionalidades
g. 26
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
La Fase de Diseo
1.2.5 Nvidia PhysX como motor comercial ms utilizado
g. 28
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
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
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
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
La Fase de Diseo
1.3.2 3D Studio Max
g. 35
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
La Fase de Diseo
1.3.3 Blender
g. 37
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
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
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
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
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
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
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
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
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
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.
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
La Fase de Diseo
2.1.1 Jerrquica Ejemplo: Un jugador (J) portando un hacha (H)
JJ
Jerarqua
H H
g. 55
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
La Fase de Diseo
2.1.2 Instancia Ejemplo: Un lanzagranadas (L) dispara una granada (G)
L L
Instancia
G G
g. 57
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
La Fase de Diseo
2.1.3 Modificacin Ejemplo: El personaje (P) incrementa su vida (V)
Modifica V
P P
g. 60
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
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
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
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