Infinite Terrain Generator v0.7a

You make a rectangle with the top removed.Then you could model hills,valleys and terrain to place over it and then add them to the rectangle with python.That would be more easier.Could you make a script to make a road that is spawned in one direction of travel.Like for instance only north and south direction.That would be a simple script to add.I think.

You can use Lib New to modify the visual aspect of meshes but that won’t affect the physical mesh. All instances share the same physical mesh.

The only way around this I’ve found is to make sure all the sections of ground which you want to have are already placed in the scene as single objects before you start the game. Like if your world is never going to be bigger than 100x100 tiles, preplace them in the scene before starting.

Or have 1-100 different (but identical) sections of terrain in a different layer and add them alternately. Once you’ve reached the 100 limit you can go back to the beginning of the list, those tiles already having been removed because they are too far away from the player. Actually you don’t need 100 tiles, just about 25 would do to create a 5x5 grid (3x3 + one border).

You could use an [‘available_tiles’] list and an [‘in_use_tiles’] list and pop tiles 1-25 from each list and place them in the other.
Then when you need to add a new tile you get the correct number from the first item on the list [‘available_tiles’][0] and place it in the scene. As you get further away you can remove older tiles (endObject()) and put their id on the [‘in_use_tiles’] list.

So would I be able to say access the terrain pieces vertex data individually? As in I could get the id of my last placed object and then get it’s vertex location? If so then I can have a physics mesh that gets added on top of mesh the player is currently standing on and have its vertex’s line up with the terrain mesh… I gotta try this out :stuck_out_tongue: Thanks!

ummmm… That might work.

When you use LibNew it looks like each instance is a true new section of ground, but physically you’re only modifying the parent mesh (on the inactive layer), only the most recent changes to the parent mesh will be implemented (and then only if you use thereinstancephysicsmesh command). You can switch on physics visualization to check this.

just take the vertices from the grass and multiply the sine and cosine of time, use his copy and spawna via
geometryshaders

upbge_eevee soom will have particle nodes,
we can hopefully ‘set’ a particle list of instances, and use particle info in shader graph to effect / animate them locally using animation nodes or something

(like particle info location could be used to get perlin noise to simulate wind)

Still working great!

Only if I try to save with the “O” Key, nothing happens.
(Windows, Blender 2.79)