I have a terrain with a terrain collider and when I walked around on it I noticed that the collisions seemed inaccurate but almost correct, so I looked at the collision geometry with the physics debugger and found this (collision geometry is in green):
As you can see, it’s mostly correct but very inaccurate in many places on slopes. Is something wrong or is there a setting to control this? What’s weird is that it looks like the collision geometry has faces that can perfectly match the rendered geometry, it just doesn’t. This kind of accuracy is definitely unacceptable as characters clip into and float above slopes.
To be clear, this is definitely not z-fighting in the physics debugger’s display as I found this by my character floating and clipping through terrain hills. It’s hard to show in a screenshot, but if you zoom in you can see clear differences between the rendered gray faces and the collider’s green faces. [151175-terraintest.zip|151175] and I’m surprised no one else is seeing this as it’s incredibly simple to reproduce. In this project I just have a terrain with hills, a character controller with a simple movement/camera script, and a couple pins in the land that show obvious points of floating or clipping. You can also look at the areas of these pins with the physics debugger and see it is because of the difference between the terrain collider’s faces and the rendered faces. I made this from scratch in a few minutes using only built-in Unity assets and I’m using Unity 2019.3.0f3. It’s also here.