What I’m trying to achieve
I have a platform that can be tilted on two axes and a sphere that should “roll” based on the platform’s degree of tilt. I’m leveraging the out of the box physics to get the sphere to roll. The sphere should roll “naturally” and collide with the platform’s walls.
Sometimes, not every time, when the sphere rolls into a corner and the platform is then tilted downward away from the sphere the sphere will become suspended in air as if it is “stuck” or no longer respecting gravity. I’ve not implemented anything special for gravity that comes out of the box. Once the sphere is suspended it either drops back to the platform surface after a few seconds or requires the platform to be tilted in such a way that it collides with the sphere again, which causes the sphere to once again roll as expected across the platform surface. This can also happen when the sphere rests against a wall.
I’ll include video clips to illustrate the problem behavior and the expected behavior where the problem doesnt occur.
Sphere gets stuck in the corner then drops after a few seconds. Then the sphere rolls and collides as expected
[sphere stuck in corner, then rolls OK.
Sphere gets stuck in the corner until it is contacted by the platform.
sphere is stuck until contacted.wmv (732.0 KB)
Sphere pops up a small amount when the platform begins tilting rather than riding platform normally. 15 seconds into video.
sphere pops up.wmv (1.8 MB)
Sphere gets stuck on a wall
Here are a few additional details about my setup for the platform in case there is something there affecting the physics.
The platform is made up of multiple block parts that are welded together to create a continuous surface. The walls are welded to each other with one wall part welded to one surface part. This is to ensure that all parts move together as the platform is tilted. One part in the surface of the platform is attached to an align orientation and that align orientation is attached to a separate transparent part that is anchored at another location. The transparent part is what is manipulated with a tilt degree via script. The align orientation then tilts the platform to match the tilt with a “smooth” movement. One part of the platform is also attached to an align position and that align position is attached to another transparent part that is anchored at the center of the platform (transparent with no collision enabled). The align position constraint is intended to keep the platform suspended without the need to be anchored so that its orientation can move via the align orientation. The align orientation and align position are both parented to the same part of the platform.
What I have tried to address this problem
- Adjusting the settings of the align orientation and position config.
- Tested with a block part and have not been able to replicate the issue. It slides into and out of corners without getting “stuck”
- Setting massless to true for all parts of the platform
- I’ve looked into the decomposition geometry, but as the platform is made of standard block parts and the sphere is a standard sphere part I dont see any areas where the geometry looks off/abnormal.
- Tried using smaller parts to make up the platform and walls rather than few larger parts.