Download

Landscape material as non-tessellated texture

Hi all,

First of all, thank you in advance for your help. I’m not an experienced UE4 programmer, so bare with my incompetence.

I’m trying to import a map (including heightmap) as a landscape in UE4. The (what I though) more complicated part is done, such as creating the heightmap, importing it, etc… And the results is acceptable. Now I would like to import the map texture (a png image, basically) into de landscape. The relation should be 1:1, so I don’t want tessellation.

The current landscape I get is:
teselated.png

and the simple material I created with the texture is the following:
0f5c123d964771e3bc5770b3e5b6ef406f8fc96b.png

I’m thinking that maybe landscapes are not though to be used that way… That rendering small textures is way more efficient than a huge one… But I want to make sure.

Some more details:

  • The texture sample is set to “Shared:wrap” and the texture both in x and y to “wrap”.
  • The texture is a png image of size 2017x2017, identical size to the imported heightmap.

If there is a better way to do what I’m trying to do… please let me know…

Thanks!!

I found somewhere that I could control tiling using a “texture coordinate”. Y attached a textCoord to the texture, set the tiling to 0, and the texture dissapeared.

I feel as I am getting closer, as if I set to 1 the x/y tiling, it does activate tiling in that axis… But why does the texture not appeard without tiling?

Thanks!

Ok, solved.

I attached a landscapeLayerCoord, and increased the “Mapping scale”. It feels very weird to me the procedure… but I guess its not normal to use a single image for the whole landscape.

I hope at least this post is useful for anyone!

Cheers!

Correct, nobody uses single textures for any landscapes because the resolution would be very bad. Common heightmap densities these days are around 1 meter per texel on the heightmap. That means that each pixel will be 3 feet wide if you use a standard size landscape. Its not something easily overcome either as textures max out at 8192 so you would need lots of 8192’s to have a uniquely textured landscape with good resolution. So far the only people to take that approch is ID with their mega textue workflow, but under the hood they are basically splatting tiling detail textures and then baking it all.

So the answer is to use tiling textures and and use the 1:1 mapped textures only as alpha masks with with the blend the smaller tiling textures.

When you are painting layers on landscape, think of it more like painting these low res alpha masks that will decided where each sub-tiled textures will go.

Occasionally, I will use an actual alpha mask imported out of world machine. You can actually import the painted layers and use those are starting points which I suggest trying out. Often people refer to that method as “Splat Maps” but its really just using alphas from world machine as far as I am concerned.