Bumpy Character Movement

CireNeikual
Posts: 19
Joined: Thu Jun 28, 2012 5:06 pm

Bumpy Character Movement

Post by CireNeikual »

Hello,

I wrote a game that uses a btBvhTriangleMeshShape for a blocky volumetric (Minecraft - like) map.
I then made a dynamic character controller that uses a capsule shape.
However, the capsule keeps bouncing off of the floor, as if it is getting stuck on the edges between the triangles in the mesh.

What I find especially strange is that this is occurring with a shape that doesn't have sharp edges (capsule).

Is there any way to avoid this bouncing behavior?

Thank you for any help you can offer!
CireNeikual
Posts: 19
Joined: Thu Jun 28, 2012 5:06 pm

Re: Bumpy Character Movement

Post by CireNeikual »

Bump
bcsanches
Posts: 10
Joined: Mon Feb 02, 2009 2:15 pm

Re: Bumpy Character Movement

Post by bcsanches »

I have the same behavior when sliding though large flat walls, the character goes doing small bumps all the way and sometimes stop, like it get stuck and a small change on direction gets its moving again.

Was you able to improbe the bumping?
CireNeikual
Posts: 19
Joined: Thu Jun 28, 2012 5:06 pm

Re: Bumpy Character Movement

Post by CireNeikual »

Anyone?
pico
Posts: 229
Joined: Sun Sep 30, 2007 7:58 am

Re: Bumpy Character Movement

Post by pico »

Hi,

each triangle in a mesh is treated by bullet like a seperate entity which causes such problems.
You can use the 'btTriangleInfoMap' to generate connectivity information and remove internal triangle edges based on certain heuristics. There are a few threads about such problems here in the forum.
CireNeikual
Posts: 19
Joined: Thu Jun 28, 2012 5:06 pm

Re: Bumpy Character Movement

Post by CireNeikual »

Thanks for the response!

I came up with a solution as well. I actually came up with it before I ever posted about this problem, but I somehow messed it up and it didn't work properly until now.

I just did a ray cast to kinematically raise the body off of the ground to keep it from bouncing.

But, I still may look into the mesh type you suggested, since the ray cast is an ugly solution that will only work when the player is on a horizontal surface.