Unrealistic physics - ball rolling up steep hill

I have a problem with a physics simulation, where a rolling ball on a terrain is very unrealistic in places, most especially at the bottom of very steep hills. The ball inexplicably ‘climbs’ such walls. I have illustrated the problem with a web player at https://dl.dropboxusercontent.com/u/7590839/UnityWebPlayers/PhysicsProblem/webplayer.html. The compressed project can be downlaoded at https://dl.dropboxusercontent.com/u/7590839/UnityWebPlayers/PhysicsProblem/physics-problem.zip.

The only objects in the physics world are a simple ball and a terrain. When started, StartScript (which is attached to the main camera) gives the ball a kick with AddForce. The ball starts rolling realistically, but when it hits the steep bank in the terrain it behaves very unrealistically (I have seen it climb significantly higher that in the sample). Behaviour on a less steep bank is usually okay. Other similarly unrealistic effects can also be observed (in particular, a near-stationary ball failing to roll down a slope that it looks like it should).

It seems a little like normals of the terrain have not been calculated correctly, or are not being used correctly in the physics sim (although using terrainData.GetSteepness or terrainData.GetInterpolatedNormal appear to give sensible values).

The shader used in this project is the one from http://docs.unity3d.com/Documentation/Manual/ShaderTut2.html, to help get an idea of the normals the rendering code is working with. They look right to me.

I have seen some similar issues reported, but the suggested solutions I have found have not helped me to resolve my problem. I have filed a bug report for this issue, but was hoping someone in the community might be able suggest a workaround or help in some other way? Thanks in advance,


The Unity team have acknowledged that this is a bug (case 537745) which they can reproduce and say they are looking into, but can’t yet say when the resolution will be available.