Announcement

Collapse
No announcement yet.

How does fortnite created different biomes on a tiled landscape?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    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?
    Attached Files

    #2
    Anyone? any ideas?

    Comment


      #3
      Originally posted by matan19 View Post
      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
      Nilson Lima
      Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
      Join us at Discord: https://discord.gg/FUwTvzr

      UE4 Marketplace: Cloudscape Seasons
      supporting: Community FREE Ocean plugin

      Comment


        #4
        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.

        Comment


          #5
          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.
          Nilson Lima
          Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
          Join us at Discord: https://discord.gg/FUwTvzr

          UE4 Marketplace: Cloudscape Seasons
          supporting: Community FREE Ocean plugin

          Comment


            #6
            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)
            or
            (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?

            Comment


              #7
              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.
              Nilson Lima
              Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
              Join us at Discord: https://discord.gg/FUwTvzr

              UE4 Marketplace: Cloudscape Seasons
              supporting: Community FREE Ocean plugin

              Comment


                #8
                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.

                Comment


                  #9
                  MostHost LA 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.
                  or
                  (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.

                  Comment


                    #10
                    Originally posted by matan19 View Post
                    But how do you actually split those areas?
                    Perhaps just use three landscapes?

                    [LEGENDS of EPICATwitter Discord]

                    Comment


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

                      Comment


                        #12
                        Each tile *is* a different landscape...

                        Comment


                          #13
                          MostHost LA 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?

                          Comment


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

                            Comment


                              #15
                              MostHost LA 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?

                              Comment

                              Working...
                              X