Infinite Terrain Plugin

2 Likes

thx but what does Bottom/Top, etc mean?

The bottom height in studs where the material starts and the top where the material ends

Really great work. Have you considered implementing a LOD system for the models? If not, i might have to try to modify your plugin to include it myself, cause imagine the difference of being able to load a high poly 1000+ polygons tree when close to the object and when far away one clould just load a simple tree consisting of two crossed doublesided planes with a decal on it. This would make it possible to create dense forests with high poly objects without much perfomance impact.

My idea of how to implement it would be to when adding models for each mesh/part inside one is able to add a prefix LOD0, LOD1, LOD2 and then have a global setting in the plugin where one can set the distances at which LOD2, or 1 or 0 is loaded.

Roblox has a built in LOD system for meshes

Your right. I didnt think that robloxs lod system was working with localy created objects since its connected with the “streamingEnabled” system, but it does indeed work.

Regarding the model generation feature, so imagine a woodcutting feature. The player cuts the tree, and using “touched” connections one can remove the tree from the players client if etc. axe touches tree. This would work to a certain extent but would reset each time the player resets game.

Is there a easy way to specify or feed the plugin a list of objects or locations in a specific seed that it should not generate objects in?

You would need to use the trees X and Z axis to save the locations of what trees you have cut down then the server would need to save this information and then give it back to the client when they log back in

Then you have 3 options

  1. a script inside the tree destroys itself

  2. You modify the terrain script to not spawn the tree

  3. use this plugin instead to have more control over how models spawn Infinite Scripter Plugin

Also the server can use the terraindata module to validate that the X and Z axis are valid when the client sends a remote event to the server

1 Like

When I enable streamingEnabled and i run far away from the spawn point, so that the terrain despawns, and then i run back to the initial point, the terrain is deformed/unfully loaded. It seems that its the lower poly mesh of the terrain thats loaded and its possible to i.e. fall through the map…

Do you know whats causing this?

This happens because when you walk far away Roblox terrain will forget the terrain data and will only work again if it receives the terrain data again

What you need to do is configure the plugin to unload the terrain at the distance that the terrain is unloaded so that when you get close to it again it gets generated again

Look inside the configuration instance to set the distance terrain unloads

1 Like

I wondered, does loading models with the terrain affect the perfomance of the terrain loading? I was thinking about this, and I think it would make sense to give first priority to generating the terrain and maybe some “priority models”, and then, once a minimum amounts of chunks around the camera are loaded, then load models.

I am asking cause i was playing around with the script with the humanid set to a high walkSpeed and it does get quite cpu extensive to generate at a high rate.

Edit: I did some testing and it seems the models are loaded before the terrain, and it does indeed affect the performance of how fast the terrain is loaded a great deal. Without any models the terrain loads a lot faster and so you are able to move at a greater speed.

1 Like

I am planning on having enemies spawn randomly throughout the terrain.

How could I go about doing this considering that everything generated by this plugin is client sided?

You have a few options

  1. generate terrain on the server side where npcs will spawn

  2. give clients network ownership of the NPCs

  3. make each client generate the npcs locally and sync them manually

2 Likes

hey so im using this plugin and when i use it there are holes in the ground, how do i fix this
Screenshot 2024-02-04 202704

Make sure you have a material that covers all areas of terrain

@5uphi I wondering if this supports Cave generation?

No it does not generate caves…

1 Like

Took me very long to understand how to combine multiple noises to make the terrain look actually good, but when you do learn how to use it, it’s wonderful!

I tried to get to the far lands. Farthest I got was 499499968, 100, 0 before terrain generation gave up.

1 Like

Cool plugin. It would be really awesome if it supported cave generation.

So I wanna make a round based generation. How exactly would I randomize the terrain data each “round” can i just change the values in the “TerrainData” module while the game is running?