use-cannon icon indicating copy to clipboard operation
use-cannon copied to clipboard

Suggestion: 'Inverted Collider' Option

Open espressom opened this issue 1 year ago • 1 comments

I am working on a snow globe project in a React application and would like to propose an 'inverted' option:

image

The rationale behind this suggestion is as follows:

  1. This feature has been actively discussed a few years ago within the Unity community.
  • The Unity engine typically determines the direction of a collider based on normals. Therefore, by flipping the mesh's normals in Blender, it's possible to invert the collider.
  1. Similar requests have recently been posted in the forums of Babylon.js

I would be grateful if you could consider the introduction of an invert collider option to explore more possibilities on the web.

espressom avatar Jan 05 '24 15:01 espressom

This is one of those features that makes a lot more sense in the real world than it does in a simulation; the way Cannon makes collision logic expedient is by first testing for axis-aligned bounding box intersection - imagine the entire simulation divided into cubes. When the cube approximation of a collider is within the grid space of another collider (a rather simple comparison), more precise math kicks in to actually compute a collision.

Inverting a collider alters the AABB logic: all colliders in your example will always intersect - at least without further resolving - which ends up looking like Trimesh collider logic. Perhaps setting up an approximation of your snow globe with programmatically created planes would suffice?

stockhuman avatar Mar 21 '24 21:03 stockhuman