0 votes

I'm making a pinball game with a rigid body as ball, static table and kinematic flippers.
Using a spherical collision shape for the ball, concave polygon for the table and convex for flippers (why is it said not to use concave for kinematic bodies?)
The ball rolls perfectly on the table, but when it comes to flippers it looks like the ball is hovering over them not touching the meshes, as if collision shapes of flippers are bigger than meshes (though in editor they have the same size), the ball doesn't even fall between the flippers, however the distance between them is greater than the size of the ball. The same happens if i change flippers' type to rigidbody and set it to kinematic mode.
P.s. tried to switch to godot physics, but then the ball acts totally crazy like passing through objects or getting stuck inside a flipper
P.s. What really helps is replacing a convex collision polygon with concave one, but Godot warns that concave is "not supported to be kinematic". Why is that so, what are the drawbacks of this method?

in Engine by (41 points)
edited by

Debug with visible collisions shapes on and see if they are the problem.

I know this is response to an old post. I ran in to a similar issue when working on my game. I found at least in my case that working with too small of a unit or scale the collision margin begins to have too much influence. How I solved the issue in my game was to fix scaling before export to the engine or scale the mesh and adjust the extents on the collision shapes.

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.