Hello, this API is incredible but it keeps crashing whenever I stop my game, you can reproduce it by having a Union made in Studio(with the toolbar) and then modifying it at runtime, once you stop the simulation it will crash the Studio application.
Also, I’m wondering if I’m missing something since I really can’t get that “super-fast” calculation when doing CSG operations(like the one in the workshop, the clay-like cylinder that rotates and gets its shape), at first it flickers and then after some operations it just refuses to compute again for like some seconds, I thought warm-start solved that.
Edit: This is a place where while holding your click, it starts to perform a laser-like destruction on the target object, but after some operations, it refuses to compute again. (Also demostrates some shading bug, the crash isn’t usual but sometimes happens, you can trigger it by removing the code in the task.defer and preunion’ing the breakable part)
hey @gato_todomenso, Thanks for trying it out. The crash bug is the same one as what @Daw588 Reported here. A fix was merged in and should be available for the next release (baring any catastrophic issues of course )
I’ll also take a look at the other issue reported (in particular the erroring)
Shoutout to these roblox engineers who still care about roblox enough to bring is amazing updates, I really hope in the future we can perform similar operations on meshparts since it would make tons of new things possible like procderually generated meshes and more.
Either way this update is still fire as being able to destroy rectangles, balls, cylinders and wedges and corner wedges is still very cool, cant wait to see fragmentation scripts pop out thanks to this update.
Also adding on to this could we get a gif showing the remeshing algorythms with wireframe rendering on so we can see how much better it generates the geometry compared to the old CSG engine?
If you could convert a union into a string, or number, or table, or something like that… we could pass it through MessaingService, DatastoreService, MemoryStoreService, RemoteEvent, and more. If this was to be added, it should be generalized to include all instances.
Huge ask though, I don’t really need this. Just explaining what he meant!
My guess is that it recalculates a mesh’s triangles to remove redundant triangles and make them more efficient and cost less memory.
(edit): Staff replied and said that it merges coplanar triangles into one. That keeps the speed for the next union consistent, compared to when triangles kept adding up.
Jeez, No wonder why old CSG was so laggy, it generated so much uselless geometry, This new CSG engine literally looks like it doesnt even generates any extra geometry at all, Meaning it shouldn’t even slow down over time because the geometry never stacks up.
Wonderful update. I do wonder why we can’t have a built-in part type for cones though, as having to create a CSG cone is annoying. However, the new system should make it less annoying.
With Incremental Re-meshing the CSG engine tries to merge as many coplanar faces as possible after each operation. So, the number of faces in contact in the following operations is decreased, and as a result, the next CSG operations become faster.