3d car game group project msc cave 2011 ramalingam vignesh perseedoss rajiv nair abhijeeth heng li...

Post on 19-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

3D CAR

GAME

Group ProjectMSc CAVE 2011

Ramalingam Vignesh Perseedoss Rajiv Nair Abhijeeth Heng Li

Special Thanks:• Macey Jon• Nait-Charif Hammadi

IN THIS PRESENTATION

• Introduction• Live Demo• Elements of the Game• Configuration & Performance• Future Work• Conclusion

INTRODUCTION

• 3D Car Game• Graphics Engine : OpenGL 3x• Shading : GLSL >= 1.2• Libraries : NGL, QT, Phonon Sound• Programming Language : GNU C++• IDE : QT Creator

LIVE DEMO

ELEMENTS OF THE GAME

• Maya Modelling and Exporting• Billboards• Skybox• Shading & Lighting• Camera Movement• Controls & Collision Detection• Effects : Nitrous, B&W, Minimap• Sound

ELEMENTS OF THE GAME>> Maya Modelling 1• The world modelled in maya, exported to OBJ format and read into

the game• Car modelling : Nurbs -> converted to poly• Huge number of models => MEL Script written to export the models• <<TURNTABLE OF CAR>>

ELEMENTS OF THE GAME>> Maya Modelling 2

ELEMENTS OF THE GAME>> Billboards 1• 2D images placed in the world (accessories)• Follow the camera to give the illusion of 3D

ELEMENTS OF THE GAME>> Billboards 2• Settings.xml file created to easily add/edit billboards items

ELEMENTS OF THE GAME>> Skybox• Adds realism -> simulate world environment• Huge cube (bigger than the game terrain), with each of the 6

faces having a distinct texture

no skybox

only skybox

skybox integrated

ELEMENTS OF THE GAME>> Shading & Lighting• No fixed functionality -> use vertex & fragment shaders• 2 types : basic (texture only -> terrain, track, billboard) & lighted

(texture + diffuse ambient light -> car only [author : Jmacey])basic shader

lighted shader (applied only to car) with 1 light used

ELEMENTS OF THE GAME>> Shading & Lighting• Frustrum culling was used to limit the number of objects

drawn on the screen• Optimise rendering time => good fps for game

Mid stage development, with dummy model used

ELEMENTS OF THE GAME>> Camera Movement 1• 2 types : follow & spring (monkey) <<DEMO>>• Follow : replicate the exact movements of the car – always gives

the view of the driver, even when steering• Spring : allows a degree of freedom of rotation before aligning

the camera to the car again – comparable to a 3rd person view – more thrill when steering

ELEMENTS OF THE GAME>> Camera Movement 2• To give speeding feel, the FOV of camera changes with the speed• While speed varies from 0 – 250, FOV changes from 45 - 85

low speed – small FOV

medium speed – increased FOV

maximum speed, maximum FOV

<<DEMO>>

ELEMENTS OF THE GAME>> Controls & Collision Detection

• Car Movement – use Pythagoras to calculate the X and Z movement of car wrt speed and angle

• Accelerate• W / Up Arrow

• Reverse / Braking• S / Down Arrow

• Steering Left• A / Left Arrow

• Steering Right• D / Right Arrow

ELEMENTS OF THE GAME>> Controls & Collision Detection

• Collision Detection• Sphere – sphere collision detection• Collision response – the car stops, user can

reverse the car (<<DEMO>>)

ELEMENS OF THE GAME>> Visual Effects 1• Effects : Nitrous, B&W, minimap• <<DEMO>>

ELEMENS OF THE GAME>> Visual Effects 2

ELEMENTS OF THE GAME>> Sound

• KDE Phonon provided by QT

• 2 sounds – background music (continuous) and acceleration effect

Configuration & Performance

Development machine configuration:• Graphics Card – Quadro FX 3800 1Gb• RAM – 8 Gb• Platform – Ubuntu Linux

CPU i3 M350 @ 2.27 GHz I7 Q740 @ 1.73 GhzRAM 3 Gb 4 GbGPU Intel (R) HD Graphics 1Gb Nvidia GT 425M 1GPlatform Windows 7 64 bit Windows 7 64 bitFPS 41 60

Future Work• Car – add lights (when braking) & wheel rotation• Terrain - add variations & more props• Shading – optimise & add shadows, volumetric lights,

motion blur• Camera - more realism, different views & suspension shake• Movement - realistic physics & forces to calculations• Collision Detection – use AABB/OOB collision detection &

add collision response based on velocity and mass of objects

• AI - Add more vehicles• Synchronise sounds and visual at specific events

Conclusion

• 7 weeks• 4 Persons• 3D Car Game• modelling & Exporting• Billboards• Skybox• Shaders & light• Camera movements• Controls & collision detection• Visual & sound effects

THANK

YOU

Questions, Comments & Suggestions

Ramalingam Vignesh Perseedoss Rajiv Nair Abhijeeth Heng Li

Special Thanks:• Macey Jon• Nait-Charif Hammadi

top related