Studio Beta: CSG Has a New Engine - Vroom, Vroom, Vroom!

This inverted face issue broke my world builder and thus the 2D game builder I was working on.

function GameManager.validateUnion(negParts, originPart)
	local opResult = nil
	-- noticed around 2 Sep 2022 that Textures and Decals sometimes 'invert faces' and show scewed images
	-- after being parented to an opResult: impacts OffsetStudsU formula and texturing throughout :-( 
	opResult = originPart:SubtractAsync(
		negParts, 
		Enum.CollisionFidelity.PreciseConvexDecomposition, 
		Enum.RenderFidelity.Precise
	)
	if opResult then
		opResult.Name = "_"..originPart.Name
	end
	return opResult
end
4 Likes

@Blast4300 Thanks for providing an example place. We have a fix that’s waiting to be deployed for this issue but i’ll make sure to test this place too

3 Likes

Update, even the methods you provided didn’t work.
I’ve noticed that they break a lot of times but sometimes they’ll work fine.

Here are some parts that i’ve put together to demonstrate:
PROBLEMATIC.rbxm (50.0 KB)

4 Likes

Thanks for the demonstration model. We’ve reproduced and filed a ticket in our internal database.

5 Likes

Hi, has been there any recent updates regarding about the faulty smoothing angle on CSG V3? Smoothing angle doesn’t seem to work well on very complex primitives compared to CSG V3.

4 Likes

FYI: the seam is due to the csg3 ball not being perfectly symmetric - there is a work around described here : CSG v3 breaks older unions made with v2 with specialmesh spheres - #5 by mrrblato
We are also working on a complete fix (which would make the csg3 ball symmetric around all three axes).
Thanks!

7 Likes

Thank you! I’m excited to see this fixed because it’s put a halt to my usual modeling work, lol
any idea on when it’ll happen?

2 Likes

Can you PLEASE implement a toggle for the weird “painting” properties of negates? It makes jobs like creating cutouts very tedious.

3 Likes

image
CSG V3 is a piece of trash. It is buggy and problematic to users. It clearly was pushed out before proper testing was done on models with more than double digit tris.
Negative parts randomly make faces reflective, neon, darker, brighter, or straight up broken. This can be sometimes fixed by applying smoothing angle (1 is best if you don’t want the visible effects of smoothing angle), however it can still leave parts affected by what looks like z-fighting that was rendering in the unioning process.
Negative parts also should straight up not affect the colour of parts at all.
PLEASE allow users to use CSG V2, and start working on a fix for CSG V3.

THIS is frankly dissapointing, and I am extremely dissatisfied as a developer on this platform that such a change would be pushed out as a full release. It clearly is still a beta feature, and should go back to being that way.

The very least we ask is to have a studio setting to use CSG V2 (unmodified from how it used to be) so we can properly model without this jargon.
While CSG V3 is more performant, and is less likely to throw out errors or crash studio, these bugs make those improvements worthless to developers. Not everyone is comfortable to learn an entirely new software (blender) just to model, when they’ve gotten used to modelling on Roblox and used to working with all of its quirks for many years

@JoshSedai please urge studio developers to fix this, the very minimum that should be done is to implement a setting that allows users to go back to CSG V2. I have been seeing many good updates to studio that make developing so much easier over the past few years, but this change was really unexpected and extremely dissapointing.

EDIT: This bug has been fixed for awhile now. If you have any unions that were created during the bug period, you can fix it by simply separating and reunioning the last step of the union to fully regenerate it, you won’t need to completely separate it, a single calculation should fix the entire union.
The bug affected the physical shape, colours and reflectance of the union faces in a way similar to zfighting, like random noise.
Roblox has however still yet to give us the option to revert to CSG V2 or to remove the stupid mechanic which is to alter faces negative parts cut into.

10 Likes

This has effected me too as it messed a spider-man mask I was trying to make with unions. There is a weird shade at the top and a bright area at the bottom so am hoping they give us the option to change to V2

edit: this error has been patched so I can work on this better

12 Likes

Yeah, and what’s weird is that this bug has been happening for days now and I haven’t seen it officially recognized by staff. V3 in my opinion would be much better if it was more versatile like V2. V2 might’ve not been as efficient however it still was more flexible with using things like specialmeshes and cylinders, and mashing them together properly.

V3 on the other hand fails to do that for some reason, and it turns out the ball model used by roblox is not symmetrical. And about the negative parts applying colors, I actually think this was an intended feature but it does sort of get annoying when making certain unions.

I am surprised though that there is no option to use V2 anymore, I would of thought to atleast keep V2 around until everything with V3 is patched and works atleast with the same, hopefully better, quality that V2 had, while improving in performance overall

7 Likes

To fix cylinders and balls not being symetrical, convert the part into a union, it also smoothens out the angles slightly :>

Absolutely a backwards step for a next generation CSG engine to not include the same features the previous one had.

5 Likes

Any update on the fix? It’s been more than a month since you replied to me and it still hasn’t been fixed.

3 Likes

Hi @BritishTrainspotting and @AnimeKed

Thank you for sharing your concern with us. Would you please share the model file with us, so we can look into that?
Sorry for the inconvenience.

Thanks,

3 Likes

Hello, I found a problem here.

Apparently, CSGV3 now reverts all cylinders to the CSGV1 kind, the one with unevenly spaced points and whatnot. It has been bothering me recently, as a Ro-Av developer.

Below is SonicBlue_Team’s free A320, with a fuselage section separated and re-unioned, and the unevenly spaced points.

A comparison of the old one (green fuselage) and the new one (white fuselage)


You can notice the unevenly-spaced points. It has been bothering me and my work, and well, you know.

Something that I am asking you is to revert this update or bring back CSGV2, without any modifications or changes. I think that’s all, and thank you for reading

Edit: It’s most likely a very recent change, as this 737’s livery was done on the 23rd, without any seams, gaps and a much better fuselage.

8 Likes

Unfortunately, it no longer works nowadays, as shown by the post above.

3 Likes

@avizxrt can you send over a place file with this model?

3 Likes

Sure, hold on, It’s a free model aircraft by the way

the one with the issue:
brokenA320.rbxl (3.5 MB)

For now, you can test this using any free-model aircraft, seperate and re-union one of the fuselage sections, or try and make a CSG livery. That problem will appear

5 Likes

@avizxrt Thank you for providing the model. After our investigation, it appears that you’ve partially regenerated your aircraft body, specifically regenerating a fuselage section but not its neighbors. Due to recent changes in our cylinder primitive to address sphere/cylinder alignment issues, a scenario has arisen where cylinder primitives between two sections differ. To resolve this problem, we recommend regenerating the union of neighboring section(s). This should solve the issue you encountered.

2 Likes

Yes, thank you for the solution

But, keep in mind that this affects lots of things, such as older unions. I’ve worked a lot with Roblox aircraft, and having to regenerate the union on most, if not, all of them can be a real pain.

The best way to reduce the pain is to revert the cylinder primitive to the older version, the version where it’s much easier to work with.

A couple of other people experiencing the same problem:

3 Likes