Desarrollo de Juegos de Video en 3D Uniéndolo Todo Fabián Coello C. Marzo 2006

Preview:

Citation preview

Desarrollo de Juegos de Desarrollo de Juegos de Video en 3DVideo en 3D

Uniéndolo TodoUniéndolo Todo

Fabián Coello C.Marzo 2006

TemarioTemario

Detección de ColisionesDetección de Colisiones Respuesta a las ColisionesRespuesta a las Colisiones Física de Objetos.Física de Objetos. Corre por tu vida.Corre por tu vida. Cámara por MouseCámara por Mouse Técnicas AvanzadasTécnicas Avanzadas

Detección de ColisionesDetección de Colisiones

Permitir a los objetos reaccionar unos Permitir a los objetos reaccionar unos a otros e interactuar con el mundo.a otros e interactuar con el mundo.

Cada aplicación lo maneja Cada aplicación lo maneja diferentemente (realidad vs diferentemente (realidad vs desempeño)desempeño)

Proceso dividido en dos fases:Proceso dividido en dos fases:• Detección de ColisionesDetección de Colisiones• Respuesta a ColisionesRespuesta a Colisiones

Detección de ColisionesDetección de Colisiones

Buscar el punto y momento en el Buscar el punto y momento en el cual los objetos intersecan con el cual los objetos intersecan con el ambiento y contra otros.ambiento y contra otros.

t0 tn

Detección de ColisionesDetección de Colisiones

Por eficiencia la detección se realiza Por eficiencia la detección se realiza frente al sólido contenedor.frente al sólido contenedor.

Depende del tipo de objeto para Depende del tipo de objeto para seleccionar el tipo de sólido seleccionar el tipo de sólido contenedor.contenedor.• ParalelepípedoParalelepípedo• EsferaEsfera• Cápsula o ElipsoideCápsula o Elipsoide• CilindroCilindro

Detección de ColisionesDetección de Colisiones

ParalelepípedoParalelepípedo• Cálculo contra 6 planosCálculo contra 6 planos

Detección de ColisionesDetección de Colisiones

EsferaEsfera• Sólido más fácil de calcularSólido más fácil de calcular

Detección de ColisionesDetección de Colisiones

Cápsula o ElipsoideCápsula o Elipsoide• Fácil de Calcular y eficienteFácil de Calcular y eficiente

Detección de ColisionesDetección de Colisiones

CilindroCilindro• Fácil de Calcular, se acomoda a objetos Fácil de Calcular, se acomoda a objetos

largoslargos

Detección de ColisionesDetección de Colisiones

Calcular la colisión e interpolarla en Calcular la colisión e interpolarla en el tiempo. ( Tomar en cuenta el tiempo. ( Tomar en cuenta propiedades físicas como aceleración propiedades físicas como aceleración y velocidad )y velocidad )

Cuadro 0 Cuadro 1Cuadro ?

Respuesta a ColisiónRespuesta a Colisión

Que hacer frente a una colisión?Que hacer frente a una colisión? Simular como reaccionan los objetos Simular como reaccionan los objetos

frente al mundo frente al mundo Dependiente de la situación y Dependiente de la situación y

colisióncolisión• Plano de Desplazamiento.Plano de Desplazamiento.• Choques físicos ( rebotes, reacciones, Choques físicos ( rebotes, reacciones,

etc).etc).• Reacciones ( Daño, Explosión, etc )Reacciones ( Daño, Explosión, etc )

Respuesta a ColisiónRespuesta a Colisión

Plano de DesplazamientoPlano de Desplazamiento• Seguir el movimiento frente al plano que Seguir el movimiento frente al plano que

se choca. Ejm FPSse choca. Ejm FPS

Respuesta a ColisiónRespuesta a Colisión

Choques Físicos.Choques Físicos.• Dar realismo físico y reacción.Dar realismo físico y reacción.

Respuesta a ColisiónRespuesta a Colisión

ReaccionesReacciones• Deformar o dañar frente a colisión Deformar o dañar frente a colisión

( Autos).( Autos).• Bajar vida de Jugador ( Balas ) Bajar vida de Jugador ( Balas ) • Explosiones ( Efectos especiales )Explosiones ( Efectos especiales )

Física de ObjetosFísica de Objetos

Relacionada directamente con la Relacionada directamente con la colisión y respuestacolisión y respuesta

Principal uso: Leyes Newtonianas de Principal uso: Leyes Newtonianas de la Físicala Física• GravedadGravedad• VelocidadVelocidad• AceleraciónAceleración

Corre por tu vidaCorre por tu vida

Aplicación demostrativaAplicación demostrativa• Inclusión de un Mundo Inclusión de un Mundo • Animación de ObjetosAnimación de Objetos• IluminaciónIluminación• Manejo de CámaraManejo de Cámara• Detección de ColisionesDetección de Colisiones

Manejo de Cámara por MouseManejo de Cámara por Mouse

Tomar desplazamiento (posición) Tomar desplazamiento (posición) desde el centro de la Forma.desde el centro de la Forma.

Rotar ese desplazamiento en cada Rotar ese desplazamiento en cada uno de los ejes ( x yaw, y )uno de los ejes ( x yaw, y )

Demo Demo

Técnicas AvanzadasTécnicas Avanzadas

Manejo Espacial (Organización Manejo Espacial (Organización Espacial)Espacial)• Solo renderizar lo que es visibleSolo renderizar lo que es visible• Realizar colisiones y físicas mas Realizar colisiones y físicas mas

rápidamenterápidamente• Indexado espacialIndexado espacial• Indispensable en niveles con gran Indispensable en niveles con gran

cantidad de triángulos cantidad de triángulos

Técnicas AvanzadasTécnicas Avanzadas

Quadtrees/ Octrees Quadtrees/ Octrees • Dividir la escena en cuatro partes (2d) u Dividir la escena en cuatro partes (2d) u

ocho partes (3d) iguales y organizar en ocho partes (3d) iguales y organizar en un árbolun árbol

• Método RecursivoMétodo Recursivo• Escenas uniformesEscenas uniformes

Técnicas AvanzadasTécnicas Avanzadas

BSP ( Espacios particionados binarios) BSP ( Espacios particionados binarios) • Dividir la escena en 2 partes, por medio Dividir la escena en 2 partes, por medio

de un plano de un plano • Método RecursivoMétodo Recursivo• InterioresInteriores

Técnicas AvanzadasTécnicas Avanzadas

Portales Portales • Dividir la escena en partes seleccionadas Dividir la escena en partes seleccionadas

interconectadas por portalesinterconectadas por portales• Método ManualMétodo Manual

RecursosRecursos

fabian.coello@gmail.comfabian.coello@gmail.com www.geocities.com/fabian.coello/Archivoswww.geocities.com/fabian.coello/Archivos www.microsoft.comwww.microsoft.com//directxdirectx msdn.microsoft.com/directxmsdn.microsoft.com/directx