2
$\begingroup$

I have a very large terrain that is a about a mile x mile long, even a 16k texture is way too low res if you put the camera on a human height level.

In order to get good pixel density for painting, I have to have at least some 150-200 pixels density per meter, for example if I have a 10 x 10 meter plane and put a 2048x2048 texture on it, then that is 2048/10m = 204 pixels density per meter. Anything lower than 100 pix is way too low.

There are only 2 "easy" solutions I know:

  1. To make hundreds of 10x10m tiles from the original terrain and put a new 2048x2048 tex on each tile or...

  2. To put a single 320K texture on the entire terrain.

The second one is obviously not going to work unless you have a supercomputer and the first one will take centuries to complete and I am not even sure if Blender could handle that many objects, materials and all that. So is there a smarter way to do this?

Note that I strictly need to paint on the terrain, I don't want to just resize a single seamless UV, that would be easy, but it's not what I am looking for.

Also, I am doing this in order to export it to 3.rd party game engines and maybe sell the models, so I'd prefer a non or very low node based solution, since I am not sure how that would work with other programs.

Maybe related, maybe not, but terrains in GTA V don't look like they are made from just resizing a UV, however if you enter the game files via Open IV, you'll see that terrain sections use seamless 512 or 1024 grass/sand/etc. textures, but don't seem to have a "painted texture" laid on them....but at the same time the terrains look like they were actually painted, so how is this possible?

$\endgroup$
  • $\begingroup$ As far as I know this is generally achieved with a bunch of seamlessly repeating tileable textures for several terrain finishes like grass, gravel, dirt, rock, etc. Then use actual larger textures as masks between them, possibly recycling channels for saving memory. The masks can comport a much lower resolution or even be somewhat procedural, like normals based $\endgroup$ – Duarte Farrajota Ramos Dec 23 '17 at 17:45
  • $\begingroup$ Not sure if I understood, but..you mean basically this, I have just one huge UV face, I put a single grass texture and englarge the UV map 20, 30 times, so that the grass looks normal, then in a different layer I repeat that with sand and then somehow make a part of the grass layer visible in one place and a part of the sand layer visible in another place, right? I never used layers/masks, so I am not sure how this works. $\endgroup$ – Jakester Dec 23 '17 at 22:09
  • $\begingroup$ Yes, that is about it. You will still need a few very large textures used for masking but those wont generally need such a high resolution, and then can be monochrome or use independent channels from one same image, thus saving memory See blog.mikepan.com/post/26950891126/procedural-terrain $\endgroup$ – Duarte Farrajota Ramos Dec 24 '17 at 0:04
  • $\begingroup$ Thanks, I'll try that, if it's not too much to ask, can you give me a good video or something on the basics of masking needed for this? I never had any contact with that, I did use photoshop, so I understand the concept, but not in Blender. Also, will this work in 3.rd party software (unity, unreal and maybe 3ds max) if I export it, due to the nodes? $\endgroup$ – Jakester Dec 24 '17 at 0:24
  • $\begingroup$ You can't export materials, just create your UV Maps and paint your textures properly in Blender then recreate your final material setup wherever you want to use it $\endgroup$ – Duarte Farrajota Ramos Dec 24 '17 at 0:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.