Malformed union when made from many parts

Union becomes mutilated if you have more then 59 parts. This happens both in studio and in game.

When I was experimenting with making a net for a soccer goal and a chain linked fence, I came across this bug that completely ruined the union. However, when I tried to union the parts it produced this mutilated mess (see screenshots.)

I was confused as to why it did this so I checked how many parts I was making into a union. In total I had 80 parts which is not very many. I then proceeded to experiment with the bug and see whether it decreased in intensity as the number of parts decreased. I was in fact correct and the mutilation decreased as deleted parts.

I came to the conclusion that the mutilation started after I surpassed 59 parts meaning it started mutilating at 60 parts. It was very minor but it was still noticeable (see screenshots.)

Repro file:

BugRepro.rbxl (62.5 KB)

Repro steps:

  1. Open the file
  2. Select the parts in the hash pattern
  3. Union them
Screenshots

The example with 80 parts. (Not unioned, left. Unioned, right.)

Example with 59 parts unioned, left. Example with 60 parts unioned, right.


(I circled the spots that are mutilated slightly.)

The part count isn’t the problem, it’s that the Union is exceeding 5000 triangles during creation. Studio used to just refused to create such a Union, but what is happening now is some sort of edge-collapse optimzation is bringing the result back down under 5000 triangles, with nasty results. The triangle limit was raised for MeshParts, and you’d expect that to apply to Unions also (since they are basically just MeshParts after creation), but perhaps the lower limit lives on somewhere in the optimization code?

I only counted the need for 47 parts on the left ununioned. Try being more efficient and see if that helps to keep the triangle count low.

But essentially it’s the tri count as another replier mentioned. You may need to create the net in sections, which is better for network and memory anyway, for example if you duplicate half and simply rotate it to make the other half. Twice the tri count for the same network request and same memory for the generated mesh.

2 Likes

I am in the process of checking over bug reports and following up on some bugs that haven’t received any activity in a while.
Is this issue still occurring or can you confirm that this bug has been resolved?

1 Like

There’s definitely too many tris here. The limit is 5000, while at least 6352 tris are required to fully represent this model with a perfect solid modeling algorithm. If you want this shape, use 2 unions: one for horizontal and the other for vertical bars.

Alright, as soon as there is any info from the engineers i will pass it on.

1 Like

I’ve been experiencing the same issues, even when negating or unioning a meere 3 parts it does the same. Hopefully someone solves this.

Edit: It appears that it only happens in this template, if i choose another it doesnt, if i copy everything from the place in which the issue was found (lets say placeA) to the place where it didnt happen (lets say placeB) and i use the same parts, it keeps happening. Keep in mind im using insanely small parts, could that be the issue?