How does fortnite created different biomes on a tiled landscape?

See the attached map for example, which is divided to 3 biomes/areas: forest, snow, and desert.

I’m assuming one would use an Auto Material (probably with refinement layer on, on different layers, but still).

But how do you actually split those areas?
since the borders aren’t straigth lines - you can’t really split it in the material, right?

Anyone? any ideas?

I think the technique is the same as the one used in the A Boy and a Kite demo project for the landscape material. If you check the landscape material there are several tiled textures which compose the huge terrain there: 20 x 20Km

@NilsonLima It took me a while to downloaad and install the project you were talking about, but it is not the same type of landscape I was talking about.

While there are several tiled textures that compose together, they all create a single area and some are chosen based on height.

If you look at the image I provided, the snow area and the desert area are completely distinct; they can have same or different height, it doesn’t matter - they are separated regions.

@matan19 even if they are using World Composition (I am not sure about the map size), in the material there are ways to achieve this with a splat map with low resolution which will serve as mask. So, in the picture we got 4 different areas (dark green and light green as different vegetation types, snow and desert like) so each texture channel RGBA can have an image representing how to drive the material painting. The same splat map would be used to teach which foliage to apply (if any) and other scattered elements automatically. Extra details can be achieved with vertex painting on meshes at the transition portions.

@NilsonLima If that is the way, it means either:
(1) You’ll have a really big image, the size of the entire landscape. Some games use world of 30x30km, which mean 30,000 pixels by 30,000 pixels (I don’t think it’s even possible)
(2) Use a lower resolution image. That means you’re border has a minimum width. If we take a 32x32km map for example, and use a 8000x8000 pixels texture, the lowest border width we can have is 4meters. It’s possible - but is that really the best solution? is that even the only solution?

@matan19 With World Composition it will bake the landscape material final appearance into one texture per tile, so you will need to compose several textures tiled together to form the whole landscape and use graph math to know which one to sample at that coordinate set for that tile. That project I mentioned I guess was using that, because there are differences into landscape it shows, something that you can realize better in play mode.

I wish there would have a better way to have that easily done, since it is an essential feature for any game project, not just open world. Maybe @RyanB could add some insight into this, I am not sure he was in charge of this particular feature at Fortnite, but he is experienced enough with such material types.

If you make a material with 3 customizable layers you can change the textures on a tile by tile basis without killing performance.
the baseline idea being that your border area can use 2 materials to blend to the other biome and 1 to blend into the new one, from which you take over.

why 3? Because its a cheaper material then using 4. How many layers you add depends on what the project can afford.

Also, let’s not forget that RTV is now live/ works well enough. If terrain cost needs a reduction.

Further, world machine or not, you can create tile sized images in black/ white to import layer paint data. That’s key when dealing with large maps.
you can use any outside system to push whatever height based definitions you want… world machine being the easiest. Manually with krita off the 16bit tile being the harder.

[USER=“3140864”]MostHost LA[/USER] Importing greyscale images as paint data is a good idea!
It’s a shame edit layers with paint layers doesn’t really play nice together, but can still do-able.

Regrding the layers idea - Can you explain that more? I didn’t really understand what you mean.
As far as I know you can either:
(A) Have 2 layers, 1 for each biome and do the blending in the material. That is problematic since you can’t be sure here the border is and has no way (like height sampling) to check it.
(B) Use 3 layers, 1 for each biome, where the third will be used on the border.

I think you meant (B), In which case:
(1) What do you mean by the comment about 4 layers? why would one use 4?
(2) The problem here is drawing the actual border across a a huge map (e.g. 20x20 km, which is huge but possible), which seems like a lot of work compared. It’s possible, I’m just wondernig if this is how it’s really done.

Perhaps just use three landscapes?

@unit23 Creating a smooth transition betewen different landscapes is going to be hell, not to mention editing it later on for finer details.

Each tile is a different landscape…

[USER=“3140864”]MostHost LA[/USER] If you’re talking about tiled landscaep it’s a bit different; you have a singel landscape (sort of) with different landscape proxies. But in this case you can only only assign a singel material to the “main” landscape actor.

Or are you talking about something else?

No. Its exactly the same. Open individual tiles and change materials as needed.

[USER=“3140864”]MostHost LA[/USER] I remember I couldn’t but I’ll check again.
Anyway even if so - the tiled landscapes are square, so changing the material on individual ones will create square border.
Or am I missing something here?

… this.

Quoting me quoting you, saynig I couldn’t undderstand, won’t make me understand the second thing you said that I couldn’t understand…

Make a material with texture parameters and 3 or 4 layes.
on 4 adjacent tiles you change the instance and customize at least one texture for each.

Assume A, B, C, D. Using 3 texture for example.
Default mat is grass, mud, rock.

A - sand, grass, rock. blends into B-C
B - forest, grass, rock. Blends into A-D
C - grass, mud, snow. Blends into A-D
D - grass, mud, rock. Blends into B-C

assume they are tiled as


A needs a layer that can blend into both B and C.
B needs a layer that can blend into A and D. Etc.

If you bump up to 5 layers with some careful paint work you can make the whole landscape have a multitude of different textures for a very little cost. Definitely much less than having 15/20 layers within 1 material.

To apply the instances you open up the level - select unlit if you need to see. Apply the new instance.
You then return to the worldcomp level, load only that one level and paint. Load the adjacent level after save/unload and paint.

You need to make sure that the same layer has the same texture since the painting can otherwise be problematic when you load multiple levels. Regardless of that, it works. And obviously it works best when you import paint layers done in a 3rd party application.

[USER=“3140864”]MostHost LA[/USER] Even with all of those instructions, it doesn’t explan how is the border created.

Assumnig you’re not saying the border is the tile border, since it will then be square.

What border exactly?
between the 2 tiles? You use the same material as I explained…

tiles are square, and so are any maps, so I’m not really sure what to make of that.