Hello!
Sorry for my English, it is not my primary language.
Some info about the project:
I’m developing a car racing project which has a complex physics and damage model. The vehicle has a variable mass and floating center of mass. I started to develop this project 1.5 years ago and I used Edy Vehicle Physics with my own changes. Everything works fine in Unity4 and the project is close to completion.
I spent some time to find out whether it is possible to port the project to Unity5.
So, the new version uses PhysX 3.3 that is not compartible with ver2.8. WheelCollider now has a parameter named “sprungMass” that is readonly and calculated at runtime (I guess at start). That is a big and fatal problem for me.
In the regular vehicle project there is a main rigidbody with the wheelColliders attached to this. It is right and so easy for mainstream. The main rigidbody has it’s mass that represents a mass of the whole vehicle.
In my project design I have no main rigidbody that represents a full vehicle mass. It can be floating (cargo) and the center of mass can travel too.
I tried to port this aproach to Unity5 and found that this is impossible to develop any vehicle with variable mass or fragmented structure. In version 3.3 the main rigidbody needs to have a static mass of the vehicle. In another way it becames a very unstable, contacts are bouncing and jittery.
In the prev version I can quietly use the mainbody with the weight much less than the suspension tuned to. For example: an empty cargo’s weight is 3000 kg but the suspension is tuned to 7000kg (for an additional load). The suspension is tuned to 7000kg and when the cargo is empty it is still stable.
So, an old version implements a realistic suspension behaviour as described here:
In the new version it is unstable and needs to be retuned after the loading the cargo with the payload. That is wrong and unnatural. You doesnt retune your car’s suspension when loading it in the real life.
But it is just flowers. The berries is next.
The mainbody with the wheels attached to it and a suspension tuned to a much more mass send the cargo into the orbit. And what is interesting, it doesnt matter attached or not all other fragments (payload througth FixedJoint). So, if I loading my cargo with an additional 3000 kg it’s behaviour stays an empty like.
Seems that in version 2.8 each FixedJoint component propagating the mass to the next object attached and this process is recursive up to the last terminal object. There is no mass propagation in version 3.3, and its very sad and unnatural.
The design based on the constant sprung mass is plain wrong, it is unnatural arcade-like.
I tried many workarounds, but no way found.
Seems that there is impossible to make something more than an arcade like vehicle with an arcade behaviour.
I asked Edy about this and he confirmed me that the problem exists.