This document describes the demos in the Samples application (currently compiles only under Windows). When you run the samples application the application will initially start paused, press P to unpause it. The menu is accessible through pressing ESC, it has the following options:
- Select Test - This allows you to select between the different types of physics tests
- Test Settings - Some tests will allow extra configuration, if not this setting will be greyed out
- Restart Test (R) - When selecting this, the test will go back to its initial state
- Run All Tests - This will run every tests for 10 seconds before proceeding to the next. This is a good way of visually inspecting the simulation before commiting a code change.
- Next Test (N) - When running all tests, this option can be used to quickly skip to the next test.
- Physics Settings - This menu contains all physics configuration.
- Drawing Options - This menu shows all the options for drawing the internal state of the physics simulation.
- Mouse Probe - This allows you to switch between various collision detection modes to test the different collision detection algorithms
- Shoot Object - A sample application is not complete without being able to shoot some balls at the simulation (B key). This menu allows additional settings.
- Help - A quick help text.
- Use the Mouse and WSAD keys to move around, hold Shift to speed up and Ctrl to slow down
- Hold the Space key to pick up an object in the center of the screen and move it around with the mouse and WSAD.
- P - Pause / unpause simulation.
- O - Single step the simulation.
- , - Step back (only when Physics Settings / Record State for Playback is on).
- . - Step forward (only when Physics Settings / Record State for Playback is on).
- Shift + , - Play reverse (only when Physics Settings / Record State for Playback is on).
- Shift + . - Replay forward (only when Physics Settings / Record State for Playback is on).
- T - Dump frame timing information to profile_*.html (when JPH_PROFILE_ENABLED defined).
Note that you can watch all movies below in a single YouTube playlist.
This categories shows vehicles created through the VehicleConstraint. These vehicles use ray- or shape casts to detect collision with the ground and simulate a vehicle with an engine, gearbox, differentials and suspension.
|
A wheeled vehicle. |
|
Demonstrates a tracked vehicle with a turret constrained to the main body with hinge constraints. |
|
Demonstrates a motor cycle. |
This category demonstrates how ragdolls can be made and controlled using keyframing or motors.
|
A ragdoll set to kinematic mode (infinite mass, simulated using velocities only) interacting with dynamic objects. |
|
Demonstrating a humanoid ragdoll driven by motors which are trying to match a sprint animation in local space (green sticks). |
|
An animation is played back on a high detail skeleton ('Animation') and then mapped onto a low detail ragdoll skeleton ('Reversed Mapped'). This animation is used to drive the motors of the ragdoll. The resulting pose is mapped back to the high detail skeleton ('Mapped'). Note that the skeletons are drawn offset to make them clearer.. |
|
160 Ragdolls being dropped on a scene from Horizon Zero Dawn. |
|
160 Ragdolls dropping on a pile, simulated using the Jolt Physics engine. Yellow means the ragdoll is simulated, red means the simulation is sleeping. |
|
A pile of ragdolls that are driven to a specific animated death pose. This gives the ragdolls 'stiffness'. |
|
Demonstrates Soft Body physics as simulated by Jolt Physics. Soft body physics can be used for things like cloth and soft balls. |
This category shows how you can simulate a (humanoid) character using a capsule.
|
A demonstration of a game Character. Demonstrates moving, sliding against the environment, crouching and jumping. |
This category shows how you can implement a water simulation in your game.
|
Water buoyancy and friction simulation. Demonstrates how various shapes and compound shapes behave in the water. The right most object has a lowered center of mass. |
This category shows the various constraints that are supported. Constraints connect two or more bodies together and limit the relative movement.
|
Showing the path constraint in action. |
|
Demonstrates a chain of swing-twist constraints (usable for humanoid shoulders). The green cones show the swing limit and the pink pie shows the twist limit. |
|
Demonstrates a gear constraint. Note that the gears can be placed at any relative angle of each other, so you could e.g. create a bevel or worm gear. |
|
Demonstrates a rack and pinion constraint. |
|
Shows two boxes connected through a pulley constraint. In this case the constraint is configured as a block and tackle with and advantage of 2: the right block moves 2x as slow as the left block. |
This category contains general simulation tests. It demonstrates things like friction, restitution, damping, modifying gravity and continous collision detection. Some highlights:
|
A YouTube video showing stability of a pile of boxes. |
|
Demonstrates objects sliding along a polygon mesh. Internal mesh edges are ignored and do not cause objects to bounce off. |
|
1000 random shapes in a funnel. |
|
We will automatically split up the simulation in islands of non-interacting bodies and distribute the work across multiple threads. Each island has its own color. |
|
Shows the difference between compiling Jolt Physics in single precision and double precision (define JPH_DOUBLE_PRECISION). |
|
A demo of setting the surface velocity of a body to create a conveyor belt. The boxes have decreasing friction from front to back (last one has zero friction so slowly slides down the ramp). |
These categories show off all of the supported shapes and how they can be scaled at run-time.
|
A height field shape using various scales in Jolt Physics: Uniform, Non uniform, Mirrored, Inside out |