Presentación del Proyecto Final de Carrera de Ingeniería ... · Presentación del Proyecto Final...

21
Presentación del Proyecto Final de Carrera de Ingeniería Informática realizado por Gaizka López Carrió y dirigido por Enric Martí Gòdia y Jordi Arnal Montoya. Bellaterra, 8 de julio de 2010.

Transcript of Presentación del Proyecto Final de Carrera de Ingeniería ... · Presentación del Proyecto Final...

Presentación del Proyecto Final de Carrerade Ingeniería Informática realizado por

Gaizka López Carrióy dirigido por

Enric Martí Gòdia y Jordi Arnal Montoya.

Bellaterra, 8 de julio de 2010.

Contenido

Introducción

Desarrollo

Resultados

Conclusiones

Implementación de la física de un vehículo en un videojuego 3D 02 / 21Proyecto Final de Carrera

1

2

3

4

Introducción Desarrollo Resultados Conclusiones

Introducción• Motivación• Objetivos• Marco del proyecto

Desarrollo

Resultados

Conclusiones

Implementación de la física de un vehículo en un videojuego 3D 03 / 21Proyecto Final de Carrera

1

2

3

4

Introducción Desarrollo Resultados Conclusiones

Implementación de la física de un vehículo en un videojuego 3D

04 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Motivación

Afición al mundodel motor

Futuro laboral

Sim racing

Introducción Desarrollo Resultados Conclusiones

Conocer y trabajar con los motores de física que se utilizan actualmente en los videojuegos.

Diseño e implementación de una aplicación que simule la física de un vehículo sobre un terreno 3D:

Framework del curso de videojuegos Colisiones estáticas Control del vehículo

Objetivos

Implementación de la física de un vehículo en un videojuego 3D 05 / 21Proyecto Final de Carrera

Implementación de la física de un vehículo en un videojuego 3D

06 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Marco del proyecto

¿Qué es un motor de física?¿Qué queremos obtener de él?

Introducción

Desarrollo• Elección del motor de física• Diseño e implementación• Creación de contenidos

Resultados

Conclusiones

Implementación de la física de un vehículo en un videojuego 3D 07 / 21Proyecto Final de Carrera

1

2

3

4

Introducción Desarrollo Resultados Conclusiones

Implementación de la física de un vehículo en un videojuego 3D

08 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Elección del motor de física

El grupo de los elegidos PhysX, Havok, Bullet & Oxford Dynamics

Parámetros a evaluar Vehicle kit Documentación Repercusión Situación tecnológica

Implementación de la física de un vehículo en un videojuego 3D

09 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones Elección del motor de física

PhysX

Havok

Bullet

Oxford Dynamics

Vehicle kit & Documentación

Rep

ercu

sión

& S

ituac

ión

tecn

ológ

ica

Implementación de la física de un vehículo en un videojuego 3D

10 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Diseño e implementación

Quake

Init & Load() - Geometría - Texturas - Sonido - etc.

elapsedTime = lastTime – GetTime()

lastTime = GetTime()

Read Input() - Mouse, Teclado, Pad, etc.

Update(float elapsedTime)

- Actualizar posición:> player, enemigos, items

- Act. game info - Act. cámaras - etc.

Render() - Player - Enemigos - Escenario - Game info - Items - etc.

lastTime = GetTime()

Implementación de la física de un vehículo en un videojuego 3D

11 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones Diseño e implementación

Quake goes racing!

Init & Load() - Geometría

> mundo gráfico> mundo físico

- Texturas - Sonido - Havok - etc.

elapsedTime = lastTime – GetTime()

lastTime = GetTime()

Read Input() - Mouse, Teclado, Pad, etc.

Update(float elapsedTime)

- Actualizar Havok ( 30 - 60 Hz )

Render() - Player - Escenario - Game info - etc.

lastTime = GetTime()

Implementación de la física de un vehículo en un videojuego 3D

12 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Diagrama de módulos

Diseño e implementación

Physics Manager

Havok

Videojuego

Vehicle Setup

Vehicle API Utils

Vehicle Display

Phantom Shape

Implementación de la física de un vehículo en un videojuego 3D

13 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Mundo gráfico / mundo físico

Creación de contenidos

X file HKXfile

Autodesk3ds Max

rFactor official plugins

Havok Content ToolsPanda DirectX Exporter

rFactorModelos 3D & Texturas

Introducción

Desarrollo

Resultados• Satisfactorios• Fallos conocidos• Demo

Conclusiones

Implementación de la física de un vehículo en un videojuego 3D 14 / 21Proyecto Final de Carrera

1

2

3

4

Introducción Desarrollo Resultados Conclusiones

Satisfactorios

Implementación de la física de un vehículo en un videojuego 3D 15 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Fallos conocidos

Implementación de la física de un vehículo en un videojuego 3D 16 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

a) Vista aérea en el juego b) Malla 3D

c) Asfalto d) Hierba e) Grava

Demo

Implementación de la física de un vehículo en un videojuego 3D 17 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Introducción

Desarrollo

Resultados

Conclusiones• Valoración final

Implementación de la física de un vehículo en un videojuego 3D 18 / 21Proyecto Final de Carrera

1

2

3

4

Introducción Desarrollo Resultados Conclusiones

Valoración final

Implementación de la física de un vehículo en un videojuego 3D 19 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Objetivos logrados Simulación física de las colisiones estáticas mediante Havok. Simulación física del vehículo mediante Havok Vehicle Kit. Uso de modelos 3D de rFactor. Framerate medio de 90 fps. La aplicación es jugable y tiene una finalidad. Conocimiento de la tecnología de los motores de física.

Implementación de la física de un vehículo en un videojuego 3D

20 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones Valoración final

Incidencias Mismo grip en las diferentes áreas del circuito. Corrupción del canal alfa en las texturas rFactor. Memory leaks.

Mejoras Rediseño modular independiente del motor de física. Guardar / cargar el estado del mundo físico. A* vs Oclusión.

Fin

Implementación de la física de un vehículo en un videojuego 3D 21 / 21Proyecto Final de Carrera

Introducción Desarrollo Resultados Conclusiones

Gracias por vuestra atención