How do I make COLLIDABLE infinite terrain?

In TMS Gaming’s video, - YouTube , it is a tutorial on how to make infinite terrain using a mesh. He said he’d remake the video 6 months ago but he didn’t. Anyway, in that video the terrain is not collidable. Is there a way to make this collidable without spending a ton of time placing parts?

1 Like

Alternatively, you could have a loop generate a grid of max size parts. Besides the textures possibly not lining up at the seams, there wouldn’t be much of a difference as along as you’re not generating an excessive amount of parts in a very short period of time.

My bad for not mentioning this, but is it possible to do it with one part?

You could just use the mesh in that video, Set the Collision fedelity to “PreciseConvexDecomposition” then set collide to true. The terrain is pretty low-res but it would work fine.

Where would I find collision fedelity?

You can find it in the MeshPart object.

Yeah but, I only see RenderFidelity.

Now I have tried every mesh, and I don’t see CollisionFidelity.

No, there is no way to make large terrains with just 1 part. If you are okay with the size limit (2048x2048), you would have to deal with terrible collisions even if you use “precise” convex decomposition.

The best option we have is to use the built-in terrain generator.


You mean with the terrain editor?

Yes, the terrain editor. It can be very slow to load large maps, but it’s the only way.

Also, about Grayseon’s suggestion, maybe you are trying to find that property in the mesh. SpecialMeshes do not have collisions. Instead, you have to insert a MeshPart and change its ID to that of the SpecialMesh. Then you can set its collision fidelity.

Oooooohhhhhh, and also, the reason why I can’t use the terrain generator is because it has chunks and also I cannot import heightmaps right now because is not working right now.

Okay so It acts as a normal part, is there a way I can access the Mesh Size property?

The MeshSize property shows the original mesh size, so it is read-only (cannot be changed). But it’s possible to resize a MeshPart just like a normal part, it is not constrained to the original size.

Hi @oofdog4526,

Depends if you want to create a lot of roblox terrain use the function generate terrain in the terrain editor,
If you want to create a lot of terrain with a block i suggestion you a terrain generator,
I find it pointless to create a mega base plate and then build a game on top, so with a terrain generator the script generates it as players progress, For that you should also find various posts on the dev forum

I hope I have helped you

Are you using MeshPart or SpecialMesh? MeshPart allows collision fidelity’s but special meshes don’t.

That isn’t completely true, You Can create custom, Higher-poly meshes with good physics in Blender but the Size problem still exists

The best method for better collisions (ive tested so far) is setting 'double sided" to true and having 2 meshes (one barely lower than the other by about 0.05 studs)

Edit: In blender you can also create custom PBR materials for said terrain and you can also use plugins to generate the terrain in blender.

Hello there. Now, I am no professional and have never approached this problem before, but I believe that the best way to approach this is to load in different chunks on the client depending on where the player is and how far they can see. I have seen a plane game use this approach, where they generate terrain under you, but once you go far enough, it is unloaded. This will allow you to basically have infinite terrain while saving up on performance. I hope this helped.

Okay so, I have just disregarded this problem. BUT, when I generate terrain using a heightmap it is all glitchy and also underscaled. How can I get the generation to act properly?