How can I cut a large mesh into smaller pieces?

So I have a model that has several million triangles and in order to import it into Studio, I need to cut it into smaller pieces that fit within the 21,000 triangle limit. I’m not going to spend months doing this manually, so how do I do something like this automatically? Is there any 3D modeling software that can do this?

Also, please don’t explain to me that my experience will lag because it will only be available on PC, and there won’t be much else in it besides that mesh (which is a whole scene).

1 Like

Go to edit mode press P then separate by loose parts for automatic separation which could be imperfect

I can’t really do something like that in Studio, but if you’re talking about software like Blender, then it would still be problematic - if I did something like that, then, for example, the lawn would split into single grass blades, so Blender (or any other 3D modelling software) would probably just crash as it would try to generate millions of parts.

Export a single group grass blades, and shape their distribution in Blender so that you can paint the landscape with single meshes! The benefit is you can make a couple variants, single blade mesh, maybe a dozen blades mesh, and a larger group blades mesh. Then you’d have a few different variations of grass, and with only those source meshes, you can copy and paste them all down and manage them easier! Going a step beyond that would be loading them in using :Clone() in a script, after you save all the locations they should be placed to!

I already tried it, the lawn came out too dense and the experience lagged badly.

Have you tried using flat planes rotated around to appear less flat from more angles? Negating 3d blades for multiple planes rotated into themselves would help it out a lot!

Wouldn’t this cause even more lag, due to the rotation of said planes?

The trick is balancing between the triangle count in total, the amount of mesh instances, and the textures. There’s a lot of tricks you can do, in order to boost the rendering speed. I’ll go step by step, using several powerful tricks. In this example, we have a single blade of 3D grass. With a camera positioned, we make a texture.


We can use this texture on a plane, but doing the same as the first step, we’ll add more blades of grass this time. We’re also going to texture it up a bit, instead of a plane with a single texture, we’ll use a bigger, single texture containing two angles, with more blades of grass.

Now we use the image on two planes in the same object!
image
Now we can either make different versions with more blades, or make different kinds. I’m gonna duplicate both sets of blades one time, making 4 planes. I’m also not using 3D assets in this example. Next is to make sure the UV mapping is slightly away from the edge, so we don’t get artifacts around the edges.

Paint away!

It’s detrimental that if you plan on placing as many, or more, grass meshes than I’ve shown in this image, you must have some script handle loading/unloading them to decrease the lag. Not most devices can handle all of this at one time, especially with a detailed map.

1 Like

Yeah, I know all that, but it doesn’t change the fact that my mesh (parts of which are made just like you mentioned) has several million triangles, and I need to split it.

You could add more images to the texture, and widen the planes! This example shows two meshes with the same polygon count, but the larger one uses a larger texture.

Both of these clusters of grass are identical in polygon count, but the new mesh covers a larger area, at the cost of density. Because the new mesh is 4x larger, the original mesh only covers 1/4 the area of the new mesh.

If we double the meshes, we would still have 1/4 the polygons, trying to cover the same area with the old meshes. In this example, we have doubled both. Polygon count is still identical, comparing both groups, but the new meshes cover more area.

Edit #3: Let’s paint the landscape and count our meshes, and the polygon count. Each mesh has 8 polygons.

The original mesh, at 7857 meshes, has 62,856 polygons.


The new mesh, at 2131 meshes, has 17,048 polygons.

That means we’ve gotten rid of 72% polygons!