Studio Solid Modeling (CSG) Performance and Robustness Improvements

I’m not sure if this is intentional or not, but prior this, a union’s material direction would be based on whichever part you had selected first, which this no longer seems to be the case.
It now always takes on the direction of one of the parts, no matter the selection order.

Selecting either one first will result always in this direction

image

Without the beta enabled though, if I select the lefthand (horizontal) part first, it’ll go in that direction.

image

4 Likes

I used to utilize this method of first-selection quite often when fixing for example wood grain or other Materials or MaterialVariants on Unions, it was pretty handy for when you’re lazy or don’t have access to external software to unwrap and fix the textures into their intended direction.

@pho01proof was this intentional? Hopefully not but if it is, a reasoning would be nice.

1 Like

I have noticed some issues with this being enabled. For example, a door frame:

Before BETA has been enabled:

After BETA has been enabled:

After stretching the part to be 1 stud thick instead of 0.2 studs thick:

1 Like

Hey, is the part far away from the origin? Right now we use a tolerance that is proportional to how far away you are from the origin. We have a fix for this incoming and I’ll give an update once that has landed. In the mean time you can either do the union after moving the parts to the origin or you can disable the beta.

2 Likes

Hey! Thanks for trying out the beta and thanks for catching this issue. Will look into it.

1 Like

It is indeed - that sounds good, thank you. I have disabled the Beta for the meantime.

1 Like

Hello, I’m still having problems with the SubtituteGeometry API. The center of mass isn’t changing how it should when I subtract geometry.

Repro place:
CSG_CenterOfMass_Repro.rbxl (59.2 KB)

It also shows an issue with occlusion culling when the pivot goes under the baseplate.

@Wallath_00 Thanks for reporting this. I was able to repro the issue and we’re looking into it now

@Wallath_00 Turns out it was a bad interaction with some other feature. This should be fixed now.

its the LOD, meshes closest to the player would have an LOD of 0, aka unchanged, meshes very far away from the player would have an LOD of 4, aka very low detail, does that help with explaining it?

I’m still experiencing the issue. Is the fix not rolled out to everyone yet?

Hey @Wallath_00 mea culpa. Looks like there were actually two bugs interacting each other. There was an issue related to the computations directly (that was addressed earlier when I mentioned it). There is also an issue in substitute that was fixed but has not gone out yet. Basically, it comes down to an interaction with the new Inertia calculations.

If you want substitute to do the proper thing In the meantime, feel free to shoot me your placeIds and I can disable the Inertia calculation usage for you

Hopefully we’ll be able to get the fix out before the holiday season
~BelgianBikeGuy

1 Like

Would be really exciting to see unions support multiple materials/textures as they can only support one material, however a union can have multiple colors at once.

This makes me question why materials cannot be applied in this same effect, maybe the material sizing on the union is an issue they are trying to solve.

I’ve noticed there is a major issue with decals and textures on unioned parts that is most likely related to this drop.

I haven’t been able to isolate the issue exactly but seemingly at random when unioning, decals could be placed on the wrong face. The orange decal outline is on the front face yet the decal its self is appearing on the side as indicated by the arrow. (See image below)

I thought I could correct this by just switching the face but when I do it stretches the image to wild proportions. (See image below)

It appears there is a larger audience of people experiencing the same issues on this forum post
I’m also attaching a download to the model, albeit with a different texture, If you want to try to understand it more.
Issue.rbxm (15.4 KB)

2 Likes

Is there any chance of additional shapes being added? Like a torus? (Unless I’m stupid and there’s a way to import your own.)

Hey! Right now there is unfortunately no way to do this. We are planning to release CSG on Mesh in the near future and that will enable you to import any watertight mesh you want and use it for solid modeling.

2 Likes

This is very interesting! More efficient

Hello, apologies for responding to an old reply however I am still experiencing this issue - funnily enough while attempting to do the exact same thing.

I’m trying to add a paint design to a CSG vehicle. My method, which has worked for the past few years, is to intersect (or prior to intersect being added, negate) around the area I want the decal on and apply the decal to the resulting union.

However, since this update I have noticed that my decals are broken in the exact same way. When applied to the face that I want them to show on they’re invisible. Applying them to (usually) the left side results in unexpected, stretched imaging. Without knowing how the backend works in the slightest, it seems to me like the engine is incorrectly assigning faces in this case?

2 Likes

I have also experienced this issue with applying decals when the beta enabled.
Here’s a video showcasing the problem.

It also showcases how much quicker the new system is, so wonderful job on that :slight_smile:

Hey, thanks for letting us know! A fix for this is already deployed and I hope to turn the fix on in the next few days.

1 Like