Skip to content

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.