Hello,
I am working on a Portal clone and have encountered what I believe is a bug in the placement of contact Points.
As far as I understand, a btManifoldPoint's PositionOnWorldA and PositionOnWorldB should differ only by some machine error if anything, since they describe the same world coordinate.
In my tests though, I encountered cases in which these points were about 3 units apart.
What I do to make portals passable includes culling contact Points that lie behind the portal's plane.
To determine whether a point should be culled I calculate its position relative to the portal's transform and see if the z-axis is negative
( portals are aligned to make its z-axis be a normal on the operating plane)
This worked very well for small objects but when I tried pushing a long box through the portal it collided with the wall behind it.
Upon investigating this I encountered the discrepancy between the positionOnWorldA/B
Taking both values into account and culling a contact point iff one of these values meets my criteria seems to work for now, but I would like to know if this is a known bug and where its origin might be.
It might be noted that culling behind the entry portal works like a charm, only the cloned object that I create at the exit portal collides with wall behind the portal, due to the weird contact points.
Could the fact that I spawn a dynamic object ( the clone) in static geometry mess up contact Point generation?
Thanks in advance for your help.