Introducing Intersection to Computational Solid Geometry (CSG)

I’ve wondered for so long now why this wasn’t a thing on Roblox, glad to see it implemented!

Why not switch Unions with Meshpart in roblox studio? due to MeshParts have more options to optimize it more than the Unions

You can change the collosion mesh quality via TriangleMeshPart.CollisionFidelity

Responses to questions:

@SomeFedoraGuy

What is the keyboard shortcut for this?

Thanks for the reminder! The keyboard shortcut is: Ctrl + Shift + I .
I updated the original post as well

@Veldaren

Glad to see this feature is now a thing.

Thanks for the link to the previous request, I responded to that so that everyone on that thread is aware that Intersect is now a supported CSG operation.

@iGottic

Ok but like why are unions still unbelievably broken when it comes to nightmare topology and active geometry calculations?

Would love to hear more details on what specifically is broken. If you have example place files or models you can share, that will help us track down any specific issues

@PablitoTheChicken

Really cool update! Only issue i found was that my studio crashed when i used Ctrl + Z to undo my intersection

Hmm… interesting we have been trying to reproduce this but have not been able to. Any more info you can provide about what might have been going on previously? Or the scenario you were working with? If you have a model / place file you can share the specifically reproduces this, that would be super helpful too

@Verystupid_stickman

why was grid increment also changed in this update? I can no longer build at 0.0125 in increment when scaling or moving parts, as roblox prevents it and changes it to 0.013.

This is an issue that is not related to Intersection. We have passed this info along to the team responsible and they are taking a look it. Thanks for reporting!

3 Likes

So far my favourite thing about this is the time saving
Gone are the days of having to duplicate negative parts n stuff

Great feature to be added to CSG,
but I unfortunately ran into an issue using it, sometimes it creates thin layers When negated Intersected part union with parts:
Negated Intersected Part(size:5, 2.5, 2.5):
Screenshot 2023-04-08 001330
Regular part(size:5, 2.5, 2.5):
Screenshot 2023-04-08 001429
Unionized:
Screenshot 2023-04-08 001513

@syntezoid just reached out to me and I sent a response a few hours ago!

Damn. finally roblox getting their priorities this is so cool

This is definitely a step in the right direction! Roblox is finally adding useful features to studio again!

The negative part probably means it does the opposite of intersect

Use a regular part instead

At least with my testing, I’ve only ever found issues with unions in regards to collision physics. If you weld everything to a custom simple hitbox, it appears to fix it. Though I will agree that this shouldn’t be necessary ideally.

1 Like

bandaid solution is to export unions at obj and reimport

the reason unions lag i think is because they hold the original part data inside them in case they ever need to seperate

2 Likes

i THINK unions are unseperable in runtime because you would have to hold the original part data in every single union in case it’s seperated

this defeats the purpose of removing unnecessary geometry

a property to keep unions seperable at runtime would be a good idea

Even then the geometry is terrible (virtually impossible to fix because for whatever reason either CSG or export splits every single vertice), and shading errors are everywhere. I only use unions in mapping (unioning parts to prevent z-fighting) and importing them as a mesh makes it hard to keep a consistent and modifiable scale

Wish we could delete original part data, not sure how tangible this would be though

1 Like

What do you mean?, This renders the new feature useless.

Roblox tends to visually round the number to 3 decimal places, but I’ve found that the value doesn’t change at all, it’s still the number you typed in… as long as you don’t actually touch it afterward, which will change it.

thats how it used to be before this introduction of intersection, now it just doesn’t let you input the number as 0.0125 at all.

To be honest, I don’t think this will be very useful like the other ones, It feels like a 2.0 of the Union solid modeling tool. This will probably only be used if you want to make more complex models like footballs and mini cactuses. I might make a model about sports if anyone is interested in looking at my models in the creator’s marketplace.

It’s happening to me now, not sure why it only now just started affecting me but I’m frustrated as I’ve always used increments that are 1 divided by a power of 2, and now I can’t do that anymore…

Why did they change this?

@Verystupid_stickman / @MCWither_Storm:

thats how it used to be before this introduction of intersection, now it just doesn’t let you input the number as 0.0125 at all.

It’s happening to me now, not sure why it only now just started affecting me but I’m frustrated as I’ve always used increments that are 1 divided by a power of 2, and now I can’t do that anymore…
Why did they change this?

This issue is not related to the Intersect. It just happened to go out at the same time. We have let the appropriate team know, a bug has been filled and the team is working on resolving the issue

1 Like