## Collision problems with btTriangleMesh

aFerreira
Posts: 9
Joined: Fri Dec 04, 2015 10:30 pm

### Collision problems with btTriangleMesh

Hello,
I am having problems with using triangles meshes as collision objects. In the triangles division my vehicle bump into the lines as if there was a bump there:
https://vimeo.com/147900906
My code:

Code: Select all

``````btTriangleMesh* trimesh = new btTriangleMesh();

//Get the object collision shape from the objVertices variable
staticObjectsVector[mainBodyIdx].convertVerticesToCollisionShape(trimesh);

bool useQuantizedBvhTree = true;
collisionShape  = new btBvhTriangleMeshShape(trimesh, useQuantizedBvhTree);

``````
with

Code: Select all

``````void openglObject::convertVerticesToCollisionShape(btTriangleMesh* trimesh)
{
for (unsigned int i=0;i<nVertices;i+=3)
btVector3(objVertices[i].x - objectCenter.X, objVertices[i].y - objectCenter.Y, objVertices[i].z - objectCenter.Z),
btVector3(objVertices[i+1].x - objectCenter.X, objVertices[i+1].y - objectCenter.Y, objVertices[i+1].z - objectCenter.Z),
btVector3(objVertices[i+2].x - objectCenter.X, objVertices[i+2].y - objectCenter.Y, objVertices[i+2].z - objectCenter.Z));

}
``````
Any suggestions? i already tried increasing the step size and frequency to no avail.

Silverlan
Posts: 27
Joined: Thu Oct 30, 2014 9:15 pm

### Re: Collision problems with btTriangleMesh

Yeah, this looks very similar to the problem I'm having.
Collisions are fine with btConvexShape, but vehicles really don't like triangle meshes. The size of the triangles seems to make no difference, since they're much more dense in my case but the problem is still there.
Looks like it might be a bug?

aFerreira
Posts: 9
Joined: Fri Dec 04, 2015 10:30 pm

### Re: Collision problems with btTriangleMesh

Seems like it. If i use a convexShape the problem also get solved, however this is not a viable solution as many objects just arent convex. Also, if i remove the cylinder shape for the wheels, the problem also disappears but this not a viable solution either, as you lose collision with the wheels in all interactions.

xexuxjy
Posts: 225
Joined: Wed Jan 07, 2009 11:43 am
Location: London

### Re: Collision problems with btTriangleMesh

Have you had a look at the InternalEdgeUtility and the InternalEdgeDemo ? It might help with the problem by 'smoothing' the normals between the triangles.

http://www.bulletphysics.org/Bullet/php ... 03&start=0

aFerreira
Posts: 9
Joined: Fri Dec 04, 2015 10:30 pm

### Re: Collision problems with btTriangleMesh

xexuxjy wrote:Have you had a look at the InternalEdgeUtility and the InternalEdgeDemo ? It might help with the problem by 'smoothing' the normals between the triangles.

http://www.bulletphysics.org/Bullet/php ... 03&start=0
Yep, this 4 year old "hack" works on small triangles. With larger triangles it works 90% of the time. Why is this not more tightly integrated with the bullet library?

Silverlan
Posts: 27
Joined: Thu Oct 30, 2014 9:15 pm

### Re: Collision problems with btTriangleMesh

xexuxjy wrote:Have you had a look at the InternalEdgeUtility and the InternalEdgeDemo ? It might help with the problem by 'smoothing' the normals between the triangles.

http://www.bulletphysics.org/Bullet/php ... 03&start=0
This also worked for me, thanks.
However, the problem still occurs on the intersection between two meshes:
https://youtu.be/y9xwJRlZ6UM?t=16s

Is there anything that can be done about that, without having to combine the meshes into a single mesh?

gdlk
Posts: 62
Joined: Fri Oct 24, 2014 7:01 pm

### Re: Collision problems with btTriangleMesh

The problem is seems like the sliding problem explained in the Game Physics Pearls book. Try making the final of the mesh like a ramp, and then intersect one mesh inside the another one (like in the attached image). I don't know if works (currently I don't have that problem, so I never have to use that solution), but maybe solve the issue.

Regards!
Attachments
sliding.png (3.98 KiB) Viewed 3286 times