Name: Physics Arc
Summary: A series of improvements to Terasology's handling of collisions and physics
Scope: Engine
Current Goal: Kinematic rigid bodies
Phase: Implementation
Curator: Immortius
Related:
The Physics Arc covers a range of improvements to how collision and physics is done within Terasology:
Summary: A series of improvements to Terasology's handling of collisions and physics
Scope: Engine
Current Goal: Kinematic rigid bodies
Phase: Implementation
Curator: Immortius
Related:
The Physics Arc covers a range of improvements to how collision and physics is done within Terasology:
Direct integration of JBullet with the world, removing the need to generate and update per-chunk collision hulls.Removal of existing AABB system, instead having all raytracing and convex sweeping happening through JBullet.Support for non-AABB block shape collision, via shapes and simple collision hulls - including in the Blender exporter.Improved Character Movement through swept capsule or cylinder (or ghost collision object).Addition of physics and collision components to entity system, fully integrated with JBullet. This will allow raytrace and collision support directly with entities in addition to the world, enabling entity interaction.Handle dropped blocks as entities.Steep slope support (blocking movement up a steep slope, sliding down a steep slope)Mantling support.- Physics System interface improvements
- Interpolate Character movement
- Spun out a modified JBullet Library called TeraBullet. Uses maven build system. Licensed under ZLib License at the moment, as that is JBullet's license. This is all open to suggestions.
- Added basic voxel world support from proof of concept.
- Added low-level convex sweep and raytrace support. This still needs some optimisation.
- Terasology world raytracing now done through TeraBullet.
- Fixed up waking sleeping rigid bodies when the world changes.
- Block shapes and blocks now include TeraBullet collision shapes, with single and compound AABBs supported. This needs to be extended to support simple collision hulls, spheres, boxes and any other collision shape we might desire.
- Character movement now done via swept cylinders.
- Cleaned up the previous AABB system.
- Added a rough system for doing AABB tests through JBullet.
- Some entity system integration, with dropped blocks as entities now.
- Integrated CameraTarget system, now reports focused entities.
- Integrated CollisionGroups for collision filtering.
- Need to sort out a maven repository for the TeraBullet project.
- Various optimisations for TeraBullet
- Need to better encapsulate physics - hiding the jbullet implementation.
- Investigate adding the aabbTest method from newer versions of bullet to TeraBullet
- Kinematic rigid bodies
- Handle changes to physics components settings