Skip to content

Releases: Bklzn/ThreeFiz

Release v0.5

Release v0.5 Pre-release
Pre-release

Choose a tag to compare

@Bklzn Bklzn released this 24 Feb 10:16

Release v0.5

This release builds on the previous version with significant new features, bug fixes, optimizations, and physics enhancements. It introduces support for sphere objects, improved collision detection, friction simulation, and advanced performance improvements.

New Features & Additions

  • Sphere Class & Integration

    • Introduced a new Sphere class for creating spherical objects.
    • Extended the ThreeFiz class with an addSphere method, along with adjustments to accommodate the new Sphere class.
    • Updated the RigidBody class for sphere support, moving duplicated methods to the parent class.
  • Sphere-Cuboid Collision Relation

    • Established collision relations between spheres and cuboids, expanding the system’s collision detection capabilities.
  • Friction Simulation Enhancements

    • Integrated friction forces into the RigidBody class, implementing Coulomb friction equations.
    • Introduced a Friction Test Demo to visualize friction effects in action.

Optimizations & Improvements

  • Performance Optimizations

    • Disabled collision detection when all objects in a collision are static.
    • Upgraded overall performance with extensive refactorizations and optimizations (v1 improvements).
    • Improved collision impulse calculations for static objects by declaring the inverted inertia tensor directly.
    • Added a needsUpdate flag in the RigidBody class to ensure efficient updates.
  • Advanced Collision Detection

    • Incorporated a Dynamic AABB Tree (#14) for enhanced collision detection in dynamic environments.
    • Fixed and refined AABB updates:
      • Sphere updateAABB fix.
      • General AABB update improvements.
      • OBB debug fix.
    • Addressed issues with matrix updates and impulse equation optimizations.

Bug Fixes & Debugging Enhancements

  • Fixed normal negation issues in spheres.
  • Applied various small fixes and adjustments to friction calculations.
  • Added an exception for collision resolving.
  • Improved debugging tools, including options to show AABB for better visualization.
  • Implemented a pause feature when content is not visible to optimize resource usage.

This release marks a major step forward in physics simulation and collision detection, offering robust support for both spherical and cuboid objects with enhanced performance and debugging capabilities.

Release v0.4 - First Official Release

Pre-release

Choose a tag to compare

@Bklzn Bklzn released this 10 Sep 07:18

This is the first official release for the project, marking a major milestone. Previous versions and changes are considered as < v0.4, while this release introduces a completely new build with substantial upgrades and improvements across the board.

Major Highlights:

  • Comprehensive Rebuild: The entire system has been reworked from scratch, including collision detection and physics, making this release a major improvement over any previous iterations.

Full Simulation of Cuboids:

This version includes a fully functional cuboid simulation, providing robust features for 3D collision handling:

  1. Collision Point Detection: Accurate detection of the exact point where two cuboids (OBBs) collide.
  2. Penetration Depth and Collision Normal Detection:
    • Uses the Separating Axis Theorem (SAT) to calculate the depth of penetration between colliding cuboids.
    • Determines the correct collision normal to respond to the collision effectively, ensuring realistic physics interactions.

This release represents a major leap forward in collision detection accuracy and system stability, with OBB cuboid collisions now performing reliably and efficiently.