Infinite procedural terrain

Infinite procedural terrain using a plane and a single shader.

Download the project file if you want use or examine the shader:

Tutorial on how it works:


Great stuff ! How much time do you spend on this ?
Thanks for the tutorial, it’s cool to see how it’s done !

I don’t know how many total hours it took. I worked on it (on and off) over a couple weeks.

I’m glad you found it useful.

1 Like

I featured you on BlenderNation, have a great weekend!

1 Like

I was going to attempt to do something like this myself but I decided to look up here first. I had done something like this in Lightwave a long time ago to use as a backdrop for my airship animations. Mine used a map I made in Photoshop, bump, color, and specular, with a bit of procedural noise added in to disguise the repetition. I was going to attempt to make something better in Blender. Yours is a lot more versatile. Blender’s displacement allows for much more diversity in terrain height. I look forward to examining this further. Thanks!

1 Like

I have been playing around with this. When I try to change the camera view though, everything disappears.
I would like to tie this texture to an empty to move the land rather than moving the camera. That way the ground plane doesn’t have to be huge. How would I go about doing that?


I’ not sure why things would disappear when you look through the camera. Did you adjust the camera’s Start and End Clipping planes? If the End Clipping plane value is too small, much of the landscape may disappear when you look at it through the camera.

That’s a good idea to move the terrain instead of making a really large plane. It could save a lot of memory.

I haven’t tried it, but this might work:

  1. Create an Empty to control the location of the texture maps.
  2. Inside the ground shader, change the Texture Coordinate nodes from “GENERATED” to “OBJECT” mode. Then choose the Empty as the Object.
  3. Animate the object. That will cause the textures to move across the terrain.

Let me now how that works.

1 Like

Thanks! It’s when I try to change the camera view, point it in a different direction, that everything disappears. I suspected the clipping planes, but I tried changing those and couldn’t make it any better. The “flying” camera is less sensitive, but I’m still not able to move the camera much. Why is the plane not centered at the world origin point? Is there a specific reason for that?

Thanks for the tip on how to control it with an empty. I had tried to mess around with that, but I wasn’t sure where to do this. Is the ground shader one specific node, or are there multiple nodes that I would have to change to Object coordinates? I don’t remember exactly. I will try again. Thanks.

The plane doesn’t look centered on the origin because it has several array modifiers on it so it can be tiled as large as you need it. If the array modifiers were turned off, I think the base plane would be at the origin. Each repeated tile of the array expands the terrain away from the origin.

There is only one shader for the entire terrain, but within that shader are many Texture Coordinate nodes. You would have to modify all of the Texture Coordinate nodes to use Object mode instead of Generated.

Did you download my sample project from Blend Swap or did you make yours from scratch?

Yes, I got it from Blend Swap.
Well that answers my question. There are a lot of nodes. I wasn’t sure how many Texture Coordinate nodes would need to be changed, or where they are located.

I would like to add some models to the landscape, like barns, grain silos, houses, and other stuff. Would that be difficult to do? My scenes would be at lower altitudes that an airship would be flying at, and will be close enough to see more details like that, maybe even cars and trucks on the roads. Also, I really need to figure out why I can’t aim the camera in different directions.


A very useful tool. It’s interesting that Blender by default includes useful features in the form of plug-ins regarding geometry (sapling, extra objects etc.) but such useful material presets are scarce. I don’t know if it’s possible, but if it was possible to specify particle placement with these textures it would be even better.

The camera problem has me stumped. Without looking at your project file, I can’t think of why that isn’t working for you.

I made this project when geometry nodes were pretty new, so I didn’t try to incorporate them into it. Adding buildings and vehicles dynamically might be a good application for geometry nodes.

If you’re going to use an object (e.g. an empty) to move the texture instead of moving over a large landscape, you might be able to put cars and buildings on the terrain and then parent them to the empty that is controlling the movement of the texture. That way, their location would remain synchronized with the generated terrain texture.

Thanks, Yes, that’s exactly what I had in mind. That’s what I had done in Lightwave years ago. You can see it here, excuse the horrible compression.

The file I’m having the problem with is your unaltered file from Blend Swap, so maybe you can see what I’m talking about. Try to aim the camera in a different direction, looking down more or pan around. I’m sure it’s something to do with the clipping planes, but I wasn’t able to fix it.

This is one of the landscapes I’d like to recreate, from a much lower altitude.


First off - wow - That little WWII video clip is great. Too bad it is so compressed.

Have you seen my tutorial on using satellite data to create accurate terrain? It may be helpful if you are trying to recreate a specific location:

Well, seems like Blender was gaslighting me again. I just loaded up the scene and I’m not having any problem with it now! I don’t know what was going on before. I can move around the scene just fine now. It’s always something with Blender it seems like. I’m sorry I bothered you about it.

Thanks for the compliment on my work. I will have to find that video and re-upload it without so much compression. It was in SD 720x480 to begin with, so any compression looks especially ugly. I should re-render some of that in HD. It was for an independent film called Horrors of War, a super soldiers vs. werewolves horror film.

Yes, I did watch your tutorial. It was very interesting. I’m not sure if my terrain needs to be that accurate, just in the ball park of accurate. I’ll try adding my Shenandoah model to your landscape to see how that works out.

Thanks again!

1 Like