PSE Game Physics - Summer 12: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
Course is held in German, the slides are in English. | Course is held in German, the slides are in English. | ||
= | = Timetable = | ||
The class takes place every Monday at 4 pm in room 02.07.023. | |||
This timetable is only preliminary! | |||
{|class=wikitable | |||
|- | |||
! '''Number''' !! '''Topic''' !! '''Worksheet''' !! '''Presentation Slides''' !! '''Date''' | |||
|- | |||
| 1 || Warmup: Explicit Euler, Physics I, Falling Sphere || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet1.pdf Worksheet 1] || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/1_introduction.pdf Presentation] || 16.4. | |||
|- | |||
| 2 || Convergence, Stability, Analytical solutions, Collisions I, Resolving interpenetrations ||[http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet2.pdf Worksheet 2]||[http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/2_collisions_and_interpenetrations_updated.pdf Presentation] (Update: collision points)|| 23.4. | |||
|- | |||
| 3 || Springs/Ropes, Linear momentum, Quaternions || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet3.pdf Worksheet 3] || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/3_springs_ropes_and_linear_momentum_and_quaternions.pdf Presentation] || 30.5. | |||
|- | |||
| 4 || Collisions: Sphere-box, plane-box || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet4.pdf Worksheet 4] || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/4_collision_sphere_box_plane_box.pdf Presentation] || 7.5. | |||
|- | |||
| 5 || Collisions: Box-box, separating axes || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet5.pdf Worksheet 5] || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/5_collision_box_box.pdf Presentation] || 14.5. | |||
|- | |||
| 6 || Angular momentum, micro-collisions, damping || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet6.pdf Worksheet 6] || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/6_angular_momentum_and_microcollisions_and_damping.pdf Presentation] || 21.5. | |||
|- | |||
| 7 || Friction || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/worksheet7.pdf Worksheet 7]|| [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/7_friction.pdf Presentation] || 4.6. | |||
|- | |||
| - || - || || || 11.6. | |||
|- | |||
| - || Question session / Project proposal || || || 18.6. | |||
|- | |||
| 8 || Project || || || 25.6. | |||
|- | |||
| 9 || Project || || || 2.7. | |||
|- | |||
| - || - || || || 9.7. | |||
|- | |||
| 10 || Project Presentation || || || 16.7. | |||
|} | |||
* '''preliminary session: 07.02.2012, 13:00, room: 02.07.023''' | * '''preliminary session: 07.02.2012, 13:00, room: 02.07.023''' | ||
Line 34: | Line 69: | ||
* Also no prior knowledge about physics is necessary. We'll give a short introduction to physics. | * Also no prior knowledge about physics is necessary. We'll give a short introduction to physics. | ||
= <font color="red">Frequently Asked Questions (FAQs)</font> = | = <font color="red">Frequently Asked Questions (FAQs)</font> = |
Revision as of 16:13, 11 April 2012
- Term
- SS 12
- Lecturer
- Univ.-Prof. Dr. Hans-Joachim Bungartz,
Martin Schreiber,
Kristof Unterweger - Time and Place
- Every Monday at 4 pm, 02.07.023, first meeting: 16.04.2012
- Audience
- Studenten der Informatik (Bachelor)
- Tutorials
- -
- Exam
- -
- Semesterwochenstunden / ECTS Credits
- 6 SWS (6P) / 10 Credits
- TUMonline
- https://campus.tum.de/tumonline/lv.detail?clvnr=950041743
Course is held in German, the slides are in English.
Timetable
The class takes place every Monday at 4 pm in room 02.07.023. This timetable is only preliminary!
Number | Topic | Worksheet | Presentation Slides | Date |
---|---|---|---|---|
1 | Warmup: Explicit Euler, Physics I, Falling Sphere | Worksheet 1 | Presentation | 16.4. |
2 | Convergence, Stability, Analytical solutions, Collisions I, Resolving interpenetrations | Worksheet 2 | Presentation (Update: collision points) | 23.4. |
3 | Springs/Ropes, Linear momentum, Quaternions | Worksheet 3 | Presentation | 30.5. |
4 | Collisions: Sphere-box, plane-box | Worksheet 4 | Presentation | 7.5. |
5 | Collisions: Box-box, separating axes | Worksheet 5 | Presentation | 14.5. |
6 | Angular momentum, micro-collisions, damping | Worksheet 6 | Presentation | 21.5. |
7 | Friction | Worksheet 7 | Presentation | 4.6. |
- | - | 11.6. | ||
- | Question session / Project proposal | 18.6. | ||
8 | Project | 25.6. | ||
9 | Project | 2.7. | ||
- | - | 9.7. | ||
10 | Project Presentation | 16.7. |
- preliminary session: 07.02.2012, 13:00, room: 02.07.023
Contents
A simple game physics engine is developed in this lab. Starting with simple time steps for moving rigid body objects you will successively extend your developments by collision detection, rotations, friction, etc. to obtain a game physics engine.
Topics covered in this lab:
- Introduction to game engines (Visualization, physics, scripting, ...)
- Game-Physics (Force, momentum, torque, ...)
- Game-Math (Numerical approximations, accuracy, time-steps, ...)
- Modelling of springs, Ropes
- Collision detection
- Resolving of interpenetrations
- Friction
- ...
Prerequisites
- Preliminary knowledge in C++ is advantageous, but it's no prerequisite. However, you should have experiences in object-oriented programming - e.g. Java programming.
- No prior knowledge about visualization is necessary: A framework for visualization, interactivity and the interface for the physics is given. Thus you'll only have to implement the physics part.
- Also no prior knowledge about physics is necessary. We'll give a short introduction to physics.
Frequently Asked Questions (FAQs)
If you have a question, first take a look at our FAQ Website: PSE Game Physics - Summer 12 - FAQs
Material
t.b.a.
- Explicit Euler in OpenCalc spreadsheet: Spreadsheet: explicit Euler
Recommended Literature
- Game Physics Engine Development, Ian Millington
- Real-Time Collision Detection, Christer Ericson
- Game Physics, David E. Eberly
SBND Engine
The following keysettings are preset by our engine. The keys which are for debugging should be the most important for you to hunt bugs ;-)
- Default mode:
Key | Function |
---|---|
[a] | Go left |
[s] | Go back |
[w] | Go forward |
[d] | Go right |
[g/G] | activate/deactivate gravity |
[space] | Switch between '1st person mode' and 'free mouse mode' |
[1]-[0], [F1]-[F12] | Switch to other scene and reset |
[r] | Total reset |
[e] | Reset objects only |
- Debug mode:
You can use this mode to get some information about objects. An output is created for object which is currently under the mouse cursor.
Key | Function |
---|---|
[backspace] | Activate/Deactivate Debug mode |
[mouse wheel up],[+] | Go one timestep forward + record current state |
[mouse wheel down],[-] | Go one timestep back (restore recorded state) |
Preview
- Hanging Bridge simulated with ropes:
- Falling objects (Cubes, Spheres):
- Many balls:
Registration
tum online: [1]