Presentation is loading. Please wait.

Presentation is loading. Please wait.

Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA.

Similar presentations


Presentation on theme: "Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA."— Presentation transcript:

1 Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA

2 Introduction Project Description  The Project is a Base framework for 3D Video Game.  Program load Mesh from 3D files.  3D Viewer has the look and feel of the natural environment.  Player interact with the 3D Physics World.

3 What to expect from a modern 3D Video Game ?  Nowadays 3D Video Games are very sophisticated.  Program require a sophisticated and generally expensive rendering device.  Most of the 3D video game use DirectX or OpenGL to interface with rendering device.

4 What basic skills are need to make a 3D Video Game ?  Familiar with Content Creation (3d Editors, Maya, 3d Studio Max,Photoshop)  Expertise in 3D game Engine.  Advanced Mathematics and Physics for computer graphics.

5 3D Files  I use my own 3D editor to make the 3d meshes. The editor can store multiple objects, polygons, rotators, translators, animation, lights, physics objects, The editor is rudimentary and it’s still a work in progress.

6 Storing Typical 3d Objects.  -Number of Lights  -Array of Lights  -Number of Cameras  -Array of Cameras  -Number of Polygons  -Array of Polygons  …….Many other type of objects…..

7 What information are needed to store a polygon object ?  Number of Points  Array of Vertices  Array or Scalars  Normal Vector  Normal Collision Vectors and Scalars  Center of Polygon  Index of Texture in catalog list file

8 Types of Polygons used  Because the 3D world interact Physically with the viewer, different type of polygons are needed.  Wall Polygon  Ceiling and Floor Polygon  Depending on which type of Polygon, the scalar and normal vectors are aligned in a specified manner to be used during Collision Detection.

9 Wall Polygon  A wall Polygon is a polygon that is almost “standing up”. The collision normal vector is aligned with the horizontal plane, but its length is dependent on the farthest vertex in front of the viewer. The scalar vectors are perpendicular to its segment.

10 Wall Polygon Side-view Schema

11 Wall Polygon in Front-View

12 Ceiling/Floor Polygon  A floor or ceiling polygon interact with the viewer’s feet or head. The scalars of a floor are aligned horizontally, so we can detect the if the viewer is on top of it. It is also perpendicular to its segment.  The Scalars and Collision normal vectors are pre-calculated in the 3D editor in advance so that the program does not have to do it during run-time.

13 Floor/Ceiling Polygon Schema

14 How to Process Polygon for Collision Detection ?  The 3D virtual world can be huge with many polygons, processing collision detection is computationally expensive, we need to filter out and process which polygons interact with the player/viewer.  The polygons are categorized in the 3d editor in advance to ease the viewer from determining the type of polygon.  We filter out the polygon by its distance from the viewer, at the end we only have few polygon candidates to process for collision.

15 Interaction Viewer and 3d World The player has to physically interact with the 3D world. Everywhere the player is placed or advancing, we need to check its speed vector and place it correctly. Explanation on next slide.

16 Interaction Viewer and 3d World Schema.

17 Using The Newton Physics Engine.  I added some features in my 3D editor to store 3D objects. The Delphi header translated from C++ was limited to a few objects like sphere and cube. I only used cubes to represent 3D objects. I discovered that the Newton Engine was sometime instable, so I had limit some of my previous plans on the project.

18 Conclusion  Through my activity on this project, I advanced my knowledge and understanding of using a physics engine like Newton. It provided me with the opportunity to implement a difficult matter which is collision detection. Although it only covered a small portion of the skill needed to implement a Video Game, I progressed from hypothesis to direct immersion by working on this project which gave me a view of this exciting field.


Download ppt "Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA."

Similar presentations


Ads by Google