Deprecating Legacy CSG System

this has always annoyed me when it was changed… :confused:

1 Like

Try Dust3D it uses a different form of modeling that is easier for those not experienced in modeling.

1 Like

Any information on making the in-game CSG… faster?

It’s terribly slow, and often results in simple subtractions (part - part) taking up to 20 seconds to load on the client.

Additionally, I’ve seen it take up to 60 milliseconds on the main thread of the game. Effectively blocking out the execution of other server-side scripts that are important to gameplay. I would want to maintain 60 ticks per second on the server, but realistically I cannot if I am using in-game CSG.

2 Likes

SmoothingAngle on more complex unions completely destroy the shading on the union, at times.

4 Likes

Glad to see this doesn’t effect models that were made with CSGv1 :sweat_smile:

2 Likes

I think they do this for some new developers to make their models with easier, not having to learn to work on 3D modelling programs that are hard to use. Even to learn how to combine textures from two models into one on Blender I had to search about 4 hours of tutorials, and the amount of shortcuts is huge, making you feel lost right on the beggining.

2 Likes

I understand this, but seriously, it’s not that much of an excuse. As Roblox advances, they need to make sacrifices and they need to pick. Are they going to favor easability for new developers and leave all of the developers making their company billions of dollars in the dust or are they going to finally give hard-working developers the tools they need?

To combine, try CTRL+J.

Also, I honestly feel like this is a weak excuse. Keep in mind, Roblox isn’t the only game dev platform. Outside of Roblox, there are a lot of people who do have to struggle and learn 3D modeling without the tools Roblox provides and they do it fine. There are little kids who learn how to use 3D modeling software, so I don’t think it’s fair for Roblox to do this. I of course think they should continue to provide built-in tools to create an all in one experience, but this is just too far. Wasting years and who knows how much money on a project that doesn’t help anyone looking for both quality and performance.

1 Like

Not sure if this has been talked about here yet but for some reason with csgv2, sphere special meshes shrink when unioned in most cases. Spheres are really the only things I’ve tested with but it makes building with them insanely difficult. Here is an example with the nose of an aircraft.

13 Likes

Apparently, when you separate a union/negate part, the result is getting moved aside.

Position before separating: image
Position after: image

It may be fine on larger builds, but when making something that requires high precision for small details, it slows down the whole process just because if you don’t fix the positions, the proportions of small details will be incorrect.

negate.rbxm (56.5 KB)

10 Likes

Thanks for the example. We will work on it.

2 Likes

Listen, I’m all for the idea of improving CSG, but I don’t think now’s the right time to go through with this.

I’ve been following this post since it first got posted, and I’m very unhappy with the timing of this. I agree that CSGV1 is old and decaying, but V2 has so many problems right now that it’s less desirable to use. It’s good for unioning big things and simple shapes, but for someone who has modelled with CSGV1 for close to 5-6 years now, it’s incredibly detrimental.

Currently, CSGV2 is unable to correctly separate CSGV1 models, making them much, much harder to edit. For someone who’s been building with V1 for as long as I have, I’m looking at a massive amount of loss. This is especially detrimental for models made using the CSG cutter plugin, because CSGv2 tends to offset things when unioning or separating to very undesirable amounts, causing visual inconsistency and lack of polish.

I think CSGV1 should stay until V2 can reliably separate V1 unions accurately, because for some models, conversion simply isn’t an option. Alternatively, it’d be nice to have some sort of “compatibility” mode or plugin to make V1 unions separate faithfully so they could be reunioned in CSGV2. It’s not ideal, but it would be close enough.

I urge you to consider complicated unions and how they could be affected to a potentially devastating degree, regarding this.

As an example, I have here a union made in CSGv2. It’s a jacket I made for a human character. The red part and white part can have their colors changed independently of each other. Naturally, to do this, I had to make negates to prevent the textures from glitching. However, in CSGV2, you’ll notice that separating this union and reunioning it creates a very noticeable and annoying gap between the primary jacket and the stripe. I’d like to add that this is the exact same union, I have only separated it one time and reunioned it one time with CSGV2. This is a frequent occurrence in CSGV2 and makes modelling with it borderline infuriating.


I hope you understand where I’m coming from with this, and I appreciate the efforts to look into it mentioned above.

7 Likes

Could you message me this model with instructions to reproduce the issues?

Sorry for chiming in - This is absolutely an issue I’ve been having with things as simple as basic parts, I don’t know how it’s flown under the radar for as long as it has, but it seems to be happening to everything. Is this just a basic cylinder you’re using?

Sorry for the late response, I wasn’t visiting devforum for a while.

It’s not a basic cylinder, but a union that contains a cylinder.

Yeah, that happens a lot to me as well.

It happens with basic shapes, complex unions, you name it. The frustrating thing is that a lot of the time, undoing it doesn’t actually fix it.

Are there any updates on when this update will be pushed or if it will impact older studio versions?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.