Describe the bug. Describe what is happening when the bug occurs. Describe what you would normally expect to occur.
The new (UseCSGv2) CSG engine ignores primitive meshes, such as CylinderMeshes, BlockMeshes and SpecialMeshes (in “cylinder” and “sphere” modes) inside parts when solving unions.
In this example, it was supposed to return a cylinder, but instead, it returns a whole part:
Hi, not sure if a fix was released and I found a new problem or if it hasn’t been patched yet, but I’m having problems with primitive SpecialMeshes - specifically wedges. The new CSG isn’t respecting the mesh’s scale, as seen below:
Here’s the SpecialMesh properties; it’s set to wedge, inside a wedge (I just needed the wedge to be smaller than 0.05 on one axis, together with the other parts it’s larger than 0.05 on all axes):
Hm? The SpecialMesh itself works, but the CSG engine acts like it doesn’t exist when unioning them – or at least, CSG ignores the mesh’s scale. I tried inserting a Humanoid into both the resulting Union and its parent in case I misunderstood, and it didn’t fix the Union.
There is currently a minimum absolute dimension on a primitive in the CSG system. We chose 0.05 because it’s what Studio imposes elsewhere. What you are seeing here, is that the chain of scale factors tries to produce a wedge smaller than 0.05, and hence gets clamped to 0.05 from below.
We could choose some other value, it just can’t be zero because at that point the object disappears.
Suggest a better value and we might just change it.