For my platformer, I’m raycasting downwards to get a cross product in order to draw a shadow beneath the player (for precision when platforming). I noticed that when applied to MeshParts, the result is that it’s rotated significantly incorrectly.
How it normally looks (notice it’s rotated to match the slope):
How it looks on a MeshPart:
Bug only happens on MeshParts. No specific code that differentiates meshparts from regular parts is in my game, which makes me believe this is a Roblox problem.
I did another test, where I uploaded a wedge mesh and put it next to a regular WedgePart, then set the Humanoid’s MaxSlopeAngle to 45. Even though these two wedges are exactly the same geometry-wise, the MeshPart wedge can not be climbed, while the WedgePart can.
Yes, I’ve checked the decomposition geometry, and it matches the meshes exactly.
Found out what the issue possibly is (thanks to @gkku )
Resizing MeshParts outside of a uniform scale retains the normals of the original scale rather than the new scale. Check out the wedge mesh I uploaded, and to its right, the same mesh resized. The normal returned is the same on both of them.