- Home /
How to retain position on kinematic rigidbody rotating surface in Unity 5? worked in 4
The new restrictions on rigidbodies requiring a mesh collider to be convex means I can no longer use a physics controlled RB for my gear, the problem is the only way I have ever been able to maintain a realistic position on a gear is with setting the angular velocity of physics controlled RBs. If I use a kinematic RB and thus have to use transform rotation, the gear just slides beneath the players feet. Upgrading to Unity 5 fundamentally broke several things like this in my game that were working beautifully with Unity 4. Being the only dev making this game, and ever short on time, any ideas on how to fix it would be greatly appreciated.
Here is a video of the issue. https://youtu.be/9D0x5v3-8Og
The best answer I have come up with is to split the teeth off the cylinder and use fixed joints to keep them in place so they can remain non kinematic and abide by the new restriction, seems to work but obviously much less efficient and much more limited than the Unity 4 way. Here is a picture of the Unity 4 gear on the left and the Unity 5 test on the right. I am running into an even worse problem now though, which I will link to. In short, I can't tell what material the player is standing on because the required convex mesh collider triangle indexes don't match with the mesh filter.
Cheers, CEH