Would there be any chance of the CSG system supporting the ability to carve and apply materials from other parts in the future?
Maybe but it depends on the engine itself supporting multi material parts. As you can imagine, this is not a trivial change
Any chance of the triangle limit being lifted aswell
Somewhat same as the previous one. The triangle limit has two reasons for being: 1. it’s a limit due to some OpenGL implementations on older devices (that hopefully are being phased out). 2. more triangles = more data to transmit. Work is being done to minimize the impact of this. It is on our radar
And this one is a little unreasonable thing for me to ask but is there any chance of having the 131072 stud union range limit?
We can take another look at this. Honestly it hasn’t been much of an issue recently. Are your objects 131K studs wide or are they just far from the origin?
Absolute W update, I’ve been waiting ages for something like procedural destruction and mesh modification to be possible! This is super cool!
Does the new system also have a function for removing or decimating excessive triangles or merging vertices that are super close to each other?
Basically Blender’s clean-up tools but for CSG.
The one issue I often had with CSG is that operations often create a lot of unnecessary triangles.
Sometimes resulting in near-zero-length edges or near-zero-distance vertices and it just seems like a waste of performance to have ultra-slim triangles that are nearly invisible to the naked eye.
Just really far away from the origin, right now there’s no real way to have objects larger than 2048 studs on all axis (without the use of special meshes, pretty sure those also can’t really be used by the CSG system). Right now I’m trying to experiment with some pretty large maps and having the game magically no longer run any sort of CSG operation past 131k studs is a little weird (the game is supposed to have some level of environment destruction). I can get why there would be such a limit in place but personally i would much rather have some slightly more broken/inaccurate unions than just an error message.
As for those points, i think its fair enough. However when said OpenGL limitation gets finally removed, could we potentially at least see said triangle limit being lifted on the client? For the server i can understand but i do think there could be some headroom for the client to have higher quality CSG operations.
You’ll be glad to know the new system actually does the operations in local coordinates. so objects far away from the origin shouldn’t matter. If you have an issue, please send rbxl
This is one of the best roblox updates, holy crap, for a long time I never tried to use unions for anything due to how poorly they perform and flicker, but with this update literally roblox games can now have even more destructible environments, Shame these dont work on meshparts or there isnt a way to convert meshparts to the CSG format to destroy them.
Oh, I’m really glad to hear that. I’m that the actual Solid Modeling section within ROBLOX Studio still uses the old system? Tried out the tank place at like 290k studs away from the origin and every csg operation worked fine, it’s just the solid modeling tools and buttons that seem to still use the 131k stud limit.
This system is very much for the new API only. Some improvements might be ported over and some not.
To clarify: A lot of changes were done behind the scenes to support some of these features and they require some relatively large changes. We do want to unify the code (or at least bring over the majority of improvements), it is not a guarantee.
The Solid Modeling document needs to be updated in light of these improvements but it was delayed slightly as this is still a beta
O yea, a bit off topic but the M1 tank i believe is broken? Can’t drive it at all nor shoot it. These are the errors it prints out whenever you enter and leave the tank.
Regardless of Roblox’es decisions in the past its great to see awesome updates like this. Honestly they fill me with hope for the future of the platform.
Awesome job guys. cant wait to see what you bring next !
Even with these improvements to CSG, the lighting bug when using GeometryService:SubtractAsync() still exists. Below is another example of it in action. bug_report.rbxl (47.9 KB)
Currently the splitapart setting for SubtractAsync() has a problem where the split part’s cframe doesnt change, the cframe of the part remains the origin of the original part that was subtracted overall great update though
I’m not sure why, but CSG is crashing my Roblox Studio every time I try to use it. I have attached repo place, and a video. Crashes caused by this issue often do not involve an error message, the studio just crashes without a warning. The crash usually occurs after closing, or when beginning a new play test session.
I absolutely love this update, would this also affect collision precision? I remember making a massive mesh and I could walk on the invisible geometry which affected a few of my games and with this update, I am wondering if there is more flexibility with that.