- Home /
Why does unity re-scale mesh when using mesh collider?
I modeled a pool table and wanted to use a mesh collider for the pickets using a simplified mesh. I created a hollowed-out cylinder to use as my collision mesh. When I use it for the mesh collider of the pocket, unity re-scales it and makes it shallow (rescales along the y axis. No matter how tall I make the cylinder, unity still rescales it to the same size. Here is the cylinder as shown in Cheetah3d:
And here is how it gets scales when used as a collider mesh:
As you can see, it is very shallow and is also the radius is too small. The cylinder is the same size as the pocket. Why does Unity do this and is there something I can do?
I have no experience with Cheetah3d, but could it be, that the mesh local size is actually like that and you applied a scale from outside in Cheetah3d to make it higher?
Then the normal mesh maybe also applies this outer scale, but the Collider ignores it?
I'm subscribing to this as I will need to create dynamic mesh colliders soon.
Thanks for the thought, but no. The cylinder is the exact size natively. In fact, if I simply drop the cylinder into the scene, it looks find. Only when I used it as the collider mesh does it rescale it.
Then the gameObject you put it on or any of it's parents has to have a non-uniform scale applied