I'm looking for ways to calculate how much a given object supports another in a scene. For example, imagine a box is on a table. In this situation we may say the table provides support to the lamp (assigning a value of 1). Now imagine a box is on the floor but leaning against the table. In this situation we may say the table gives the box some support (assigning a value greater than 1).
I'm looking for ways to quantify this notion. Currently what I've been doing to test the degree of support between object A and B is running simulations where I remove B from the scene and measure how far A falls, then divide by the height of A and cap the value between 0 and 1. This works well for many intuitive cases of support (like box on a table), however it does not work well for cases such as a picture on a wall. In this case the picture is fully supported by the wall (i.e. value should be 1) but the picture is supported below the top of the wall to the calculated value will be less than 1. This behaviour is undesirable.
Is there any way in Unity to calculate the forces that objects are applying to each other in a scene? It seems like knowing the upward force applied from one object to another would give a good idea of the amount of support it is providing.
Edit: For some context, I'm working on a project which involves looking at the relationship between relations of objects, and what language/words people use to describe objects and I am using scenes in unity to test this. The notion of 'support' appears to be an important one and it would be useful to be able to quantify the amount of support between two objects in a scene