/UnityNativeCollision

SAT Collision in C# for Unity3D Burst Compiler

Primary LanguageC#MIT LicenseMIT

UnityNativeCollision

This project is an experimental C# implementation of SAT collision and polygon intersection for the Unity game engine. It's specifically designed to be compatable with Unity's Burst Compiler for performance.

Features:
  • Generation of native half-edge mesh from Unity Meshes.
  • Fast convex polygon face/edge boolean collision detection.
  • Polygon/Polygon intersection manifold generation (via Sutherland-Hodgman clipping)
  • Burst compiled jobs for single and batch collision operations.

Note: Project was created with Unity 2019.2, older versions may not work.

Performance:

Acknowledgments:

This work is in part derived from BounceLite by Irlan Robson (zLib License): https://github.com/irlanrobson/bounce_lite

The SAT implementation is based on the 2013 GDC presentation by Dirk Gregorius and his forum posts about Valve's Rubikon physics engine: