CSG v3 breaks older unions made with v2 with specialmesh spheres

After the recent change where v3 has been shipped, v2 unions which used specialmeshes can now not be worked with anymore.

As displayed below, when you now try to work with a union made in v2, using a specialmesh, it will create these edges. This is unworkable, as it means I would have to redo days of work to make these compatible again.

Attached file of both unions
union examples.rbxm (163.8 KB)

Expected behavior

I expect the system to work with specialmeshes as before, or at least not modify the geometry of existing unions in such a way.

This needs to be addressed, I can not continue with my game.

12 Likes

Thanks for the report! We’ve filed a ticket in our internal database.

4 Likes

Hi Robin, thanks for the examples. The workaround is to model the cylinder in special mesh, or the specialmesh sphere using default sphere primitive. We will evaluate if combining a cylinder and a part with a special mesh set to sphere should be supported in the future.

1 Like

You’re telling me I need to redo all my old unions using this technique? This is about backwards compatibility. I cannot work on my old unions because this happens when using v3, and I can not disable v3 anywhere…

I am aware I can do this with new unions, but I need to work on stuff made before this change or I cannot continue my game

2 Likes

Hi Robin,
it turns out that the ball used in csg3 is not exactly symmetric with respect to the x,y,z directions (for various reasons involving robustness of the csg3 kernel).

So please try the following as a temporary fix:
rotate the cylinder so that the long axis points up (Y direction in Studio), then create your sphere in default position (no rotation), and shift it to the top of the cylinder as usual (i.e. so as to obtain a capsule) and then do a union. There should be no seam/edges etc. You can also flatten (scale non uniformly) the sphere in the Y direction (along the long axis of the cylinder) before the union, and then union - there should be no seam/edges again. Below is an example modified from you original example. You can separate the unions and redo them to verify.
Thank you!

sphere_cylinder.rbxl (70.2 KB)

I’m having just as much frustration developing with the texture z-fighting that becomes permanently part of the union in the rendering process for no reason. Where is this even coming from?!
image
I hope you dont run into this same issue, it seems to only happen on models with higher (but not abnormal) tri counts.

1 Like

Can this issue be properly addressed with a compatibility fix instead of having us developers perform this time consuming ritual just to achieve uniformity?

1 Like

Bump.
Issue still on-going, stuff that creates issues should surely be treated as priority?