I'm trying to modify Box2D so that it supports concave dynamic shapes. However, before putting in this effort, I would like to hear from you some best practices and if it is even possible.
- I would like to support concave dynamic bodies with over 100+ vertices.
- Should I achieve this by modifying Polygons or looped ChainShapes?
- If I modify Polygons, should I modify collision detection?
- If I modify Polygons, I already know that I should modify the MassData calculations to support concave shapes using triangulation.
- If I modify ChainShapes, any tips?
- I know that there is working Polygon-Polygon collision detection and evaluation.
- There is no Edge-Edge collision detection and evaluation yet.
- Will using ChainShapes screw performance and the internally used search tree?
- Or should I create a new Shape type like b2ComplexConcavePolygonShape? I'm thinking about this in order to not kill performance of b2PolygonShape code and b2ChainShape code.
Any advice on what decisions to make, keeping performance in mind.
Where would you start? If you like I can fork the GitHub project to make these changes and contribute to the project.
I would love it if it would be finally possible.