Thank you for reporting this crash, We will look into this.
We are working on some improvements to performance and stability for these new APIs. Since you are active users, we would love to invite you to test these changes out on your places to make sure we aren’t breaking anything. To try out these improvements, please use the following sign-up link: Roblox Betas | CSG Performance & Stability improvements Sign-up
We’ve rolled out the improvements for everyone who signed up! Let us know if you run into any issues.
is this form going to open again in the near future? I would like to try but didn’t see this
@h_vcn Honestly, we’re looking for a very quick turnaround. If you want/need to test immediately, feel free to shoot me or pho01proof a message with the place. Otherwise, we’re trying to look at less than a 2 week turnaround
P.S. That’s a goal assuming nothing unforeseen happens
CalculateConstraintsToPreserve doesn’t seem be taking velocity into account, causing constraints to be removed when they shouldn’t be.
It’s pretty easy to replicate on the Simple Tools place, you just have to create enough motion on the part so that the attachment moves by more than the tolerance in one physics step.
So I was messing around and found this peculiar glitch(?) where a model containing a humanoid does not replicate new geometry to client. Idk if it is a bug or intended behavior or if there’s some extra coding needed to update the union
Video example: https://youtu.be/H8Upw5XwXqo
There’s an issue where scaling PartOperations doesn’t apply when using GeometryService In-experience. I remember seeing someone post about this a while back but I can’t seem to find the post.
Hello!
I’m having a few issues with the new GeometryService API currently since sometimes when I try to split apart an object with SubtractAsync and SplitApart enabled, it’ll act like it was cut but the parts wont separate unless it gets cut again. The part does not have any constraints. (This issue only happens sometimes, so not guaranteed)
Another issue I’m having is that when I cut a part in half, it won’t keep the attachments no matter what I set the tolerance value to, unless it’s connected to a constraint.
Most of the code used to test this was derived from the rbxl files you guys provided for us.
Hi @thom463s,
We just released a bunch of updates that fixed a bunch of issues (along with some performance improvements).
To make sure i understand the issue with the attachments without constraints. You’re adding an attachment that does not have any constraint attached to it but you want it to propagate also and currently it’s not doing that?
~BelgianBikeGuy
Edit: More CSG Updates
I apologize for the late reply, apparently my message was saved as a draft instead of sending it.
Yes.
To explain more clearly;
If you add an attachment onto a base part without it being connected to any constraints, it won’t persist or stay after you perform an operation on it (I used SubtractAsync with SplitApart enabled).
The table CalculateConstraintsToPreserve returns will only return attachments that are already connected to a constraint. This behaviour probably makes sense given the name of the method but if attachments could be preserved without the need of a constraint, it would be very convenient.
Hey @thom463s,
We’ve identified the issue, agree it should behave as you described and have a fix ready for it, it should be out soon ™ pending QA and release schedule.
~BelgianBikeGuy
On an unrelated note, I’ve managed to make some cool demos with this API. I’m planning to use it for other aspects in my game since my game is fully centered around customization and physics.
I’m glad that we are finally getting some more support for CSG-related features.
Hey, sorry for the bump.
Anyways, it has been very close to a year now, so I was wandering if you had a definite answer for whether or not cone part types will be supported in the future. I’ve gotten a lot more into modeling and have created a module specifically for creating cones due to mesh parts not supporting CSG operations. While I do use third-party applications for some 3D modeling, such as Fusion 360, I still prefer to be able to model within Studio when possible as it is quicker and more efficient than having to import and properly size a mesh. A built-in cone part type would significantly enhance the modeling experience and capabilities.
Hey! We can’t give an exact timeline, but we are planning to release CSG on Mesh in the next few months. With CSG on Mesh it will be simple to make cones and other primitives via EditableMesh and we hope the community will make plugins for these primitives. Does that answer your question?
I don’t seem to have the option for quoting, so I suppose I’ll just embed your response.
Anyways, yes it does. Thank you very much!
Do you know if it will remain simple (using the normal buttons for CSG operations) or if it will require extra steps to perform CSG operations on an EditableMesh?
EDIT: Alright, so I ended up comparing the cone I made vs the built-in ball shape (made it a union so I could see the triangle count) and, at the exact same size, there was only a difference in 6 triangles. So I don’t see lack of cone support as that much of a problem anymore. Plus I can always remove or add more faces to adjust the level of detail.
Anyways, I have to admit, the CSG engine is so quick nowadays that it is truly impressive.
Hello, it seems that Occlusion Culling doesn’t seem to work with unions made with CSG, will this be fixed in the future?
Example:
Looking at the wireframes behind a part made with CSG
Then looking at wireframes behind an ordinary part
Non-wireframe images
Another interesting thing I found is that if the parts are smaller than 1 stud, it starts creating triangles on parts where it shouldn’t be.
This is with 1 stud:
It also puts triangles underneath?
Then this is with 0.3 stud blocks,
There are no visible air gaps, so the triangles made are brought from their part variants, I am turning greedy-meshed blocks of a 16 by 16 by 16 chunk and turning them into 1 union. Works fine when each block is 1 stud in volume, but if its less than 0.5 it starts breaking. Other than that, CSG is a very welcome edition!
Aha! Managed to fix the random triangles appearing when the blocks are 0.3 studs, I simply just loaded the blocks as 1 stud, then took the union and resized it by a size multiplier to get the desired size. Removed all the random triangles that were kinda ruining the point of using CSG to remove triangles.