Unity Collider Optimizer Save Abandoned

Optimizes mesh and polygon colliders in Unity

Project README

Unity Collider Optimizer

Optimizes Mesh & Polygon colliders in Unity.

Polygon Collider Optimizer

PCO_V1 PCO_V2 PCO_V3
Original Sprite Unity Polygon Collider Optimized Polygon Collider
Path Count 213 paths 23 paths

The tool uses a C# implementation of the Ramer Douglas Peucker Algorithm to smooth the polylines and reduce the number of paths created by a Polygon Collider in Unity.

Performance Comparision

https://github.com/aniketrajnish/Unity-Collider-Optimizer/assets/58925008/e134f0c6-4c08-4552-b69f-22e7f3b61ebe

You can run this test on your machine by cloning the project and going to the Polygon Collider Optimization Test scene in Unity.

Usage

  • Download the collideroptimizationpackage_2d_v004.unitypackage package from the Releases.
  • Import all the assets from the package in your unity project.
  • Attach the PolygonColliderOptimizer.cs script on your 2D sprite.
  • Adjust the optimizationFactor to control the amount of optimzation you need.

https://github.com/aniketrajnish/Unity-Collider-Optimizer/assets/58925008/74f5bdd1-f5c8-4c44-b745-78211919aae3

Mesh Collider Optimizer

MCO_V1 MCO_V2 MCO_V3
Original Mesh Unity Mesh Collider Optimized Mesh Collider
Triangles Count 9132 tris 2416 tris

The tool uses the Computational Geometry Unity Library by Erik Nordeus 🐐 to perfrom the Quadric Error Metric simplification on the shared mesh of the mesh collider.

Performance Comparision

https://github.com/aniketrajnish/Unity-Collider-Optimizer/assets/58925008/cfba7837-a81e-4891-9594-501fbf31680f

You can run this test on your machine by cloning the project and going to the Mesh Collider Optimization Test scene in Unity.

Usage

  • Download the collideroptimizationpackage_3d_v004.unitypackage package from the Releases.
  • Import all the assets from the package in your unity project.
  • Attach the MeshColliderOptimizer.cs script on your 2D sprite.
  • Choose the connecting mode between Fast, Precise, and No.
  • Adjust the optimizationFactor to control the amount of optimzation you need.
  • Choose the mesh style to be Soft, Hard or both.
  • Warning: Choosing the "Fast" mode would likely lead to errors, Precise mode is recommended for most of the meshes.

https://github.com/aniketrajnish/Unity-Collider-Optimizer/assets/58925008/ddb08b48-d241-494c-a6f4-0a822424964a

Updates

v004

  • Added the functionality to save and load the optimized colliders as assets.
  • Fixed the refresh bug.

https://github.com/aniketrajnish/Unity-Collider-Optimizer/assets/58925008/ba42c61c-4ea1-419d-bf81-324304a218b8

Contribution

Contributions to the project are welcome. Currently working on converting the QEM algorithm to a couroutine to stop the main Unity thread from freezing.

Known Bugs

  • If a prefab is made out of a gameobject having Polygon Collider Optimizer, it keeps refreshing itself. [FIXED]
  • Choosing Hard Edge Mesh Style decreases the number of triangles but induces additional vertices (doesn't affect the performance).

License

MIT License

Open Source Agenda is not affiliated with "Unity Collider Optimizer" Project. README Source: aniketrajnish/Unity-Collider-Optimizer

Open Source Agenda Badge

Open Source Agenda Rating