3D CAR GAME Group Project MSc CAVE 2011 Ramalingam Vignesh Perseedoss Rajiv Nair Abhijeeth Heng Li...
-
Upload
quentin-walters -
Category
Documents
-
view
218 -
download
0
Transcript of 3D CAR GAME Group Project MSc CAVE 2011 Ramalingam Vignesh Perseedoss Rajiv Nair Abhijeeth Heng Li...
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