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
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
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)
@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.
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?
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:
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 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 Nothing wrong with that. I personally find myself rarely using CSG unless I need to create some simple shape really quickly.
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.)
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?
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.
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
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