Full In-Experience Release of CSG v3

  1. This is something we want to do, are aware people want to have but it has some security implications preventing us from doing it the quick and easy way :slight_smile:
  2. From what I understand, from a rendering side, simple parts are better because they can be instanced. Iā€™m not a rendering expert but if after checking, i hear something else, i will let you know. From a physics side, if objects are left to move independently, itā€™s much more expensive. If they are welded, itā€™s about the same.

EDIT: As usual, the answer for 2) is more complicated than it looks like at first glance. The issue is the different API requirements for efficient rendering. Unions need slightly newer APIs to render efficiently. Typically older devices donā€™t have the graphics feature support to handle optimal union rendering. That being said, considering unions will typically have less triangles and overdraw than a bag of parts, it might still be better to do unions. In other wordsā€¦ itā€™s complicated

4 Likes

This really just swapping the engines for CSG. Iā€™m not sure i understand your question though. If you want to clarify your issue, I might be able to give more insight (or forward to appropriate person)

CSGv3 had already been released in studio, the async APIs for in experience were still using V2 though

1 Like

All the place that signed up by this morning ~10 (with place urls or ids) have been enabled. I

@Tconnect Is this at all related to the fixes we had discussed in the other thread? It seems to indicate a full release pretty soon, but I donā€™t see any mention of the fixes to the alignment here, and someone in the thread appears to have reported some misalignments still.

1 Like

My question is this though: will Roblox ever attempt to make the CSG system more performant? As of now, meshes are still the superior way to have complex geometry in our games. While it is great that Roblox is chipping away at the performance issues of using CSG over meshes, it seems that there is still lots of work to be done. Is there are plans to try and get the CSG system to a point where they are almost as performant as meshes in the near future?

2 Likes

Yes. This is the needed engine swap, performance increases are the next step(s)

6 Likes

Iā€™ve had this issue as well, I really want them to fix this.

2 Likes

prob should use meshes over unions anyway

1 Like

Well, thatā€™s the thing I would but I really donā€™t want to go out of my way to download blender and learn a whole new app or software to do something Iā€™ve done for quite a bit, sorry if I sound a bit blunt.

I was enlightened (joke segway to actual comment-)

CSG, also known as constructive solid geometry, is aā€¦ let me bust out the wikipedia:
image

In a nutshell, you do booleans. You can basically replicate the same action by putting booleans on all your objects and ONLY using the boolean modifier to model your objects.

CSG is really just meant for simple objects that you may need quickly at a time OR you arenā€™t willing to model 20 different variations of basically the same shape slightly modified. To basically create a slightly more complex model that normally would be annoying to create with traditional parts, example being a sphere cut out of a block.

You may then segway to asking:
ā€œSo why not just model it in Blender/Maya/Cinema4D/etc?ā€

And to answer that question is that well, some people might need to model their slightly more complicated objects all the time and export them :man_shrugging: Its a more quicker and easier way to create complex shapes and objects without the hassle of going into blender, creating it, exporting it, and (if you need to) fixing it (which will require you to go back to your modeling program.)

Meshes on the other hand are for complex objects. Airplanes, fancy chairs, realistic trees, uv mapping shenanigans, and other random junk you need to make.

Of course, if you donā€™t need/use CSG, then :ok_hand: Nothing wrong with that. I personally find myself rarely using CSG unless I need to create some simple shape really quickly.

2 Likes

Another reason to use Unions is thereā€™s CSG API for scripting. Itā€™s handy for things like bullet holes, wrecking buildings, or chopping down trees. Just have to be mindful of performance, as excessive usage can cause physics-based lag. It also deletes all descendants of the part (decals, lights, etc.)
CSGAPILaser

8 Likes

Part of the question was will these changes be applied retroactively to Unions made prior to this update? Or will we have to separate and recombine older Unions to gain the benefits?

Nice! any plans to enable the api in parallel?

So Iā€™ve been investigating and I found out about that cylinder/sphere problem people have been having where the cylinders changed shape, do you have an update on that?

TConnect told me the team is working on a fix and that theyā€™re working on making sure performance doesnā€™t take a big hit because of it.

I havenā€™t heard any updates since they said theyā€™d update me once it was fixed, but I thought Iā€™d ask them about it here since this update seems to indicate V3 is moving along.

Two points:

This is only for in experience CSG results, transient objects that are changed by game mechanics (your bullet holes)

For precompiled CSG assets, weā€™re actually looking into this right now. Without going into too many details there are 2 current issues right now
a. growth of data (both networking and ram) of subsequent operations
b. growth in complexity (and thus time) with increasing operations
and both of them are being looked at right now. For the retroactive changes, itā€™s a little difficult as we donā€™t have a backend system to update assets once published (theyā€™re meant to be immutable). Weā€™re discussing it

1 Like

Trying to clarify a bit:
If you mean on clients, the answer is maybe (security issues are the real blocker here)
If you mean multiple operations on the server at the same time, the answer is: itā€™s complicated in the case where multiple operations would happen on the same part

This is really a question for Tconnect and iā€™ll forward it to him when he gets back

Is this now enabled in game? @BelgianBikeGuy