Announcement

Collapse
No announcement yet.

Landscapes need a rework after years without big changes

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

    [FEATURE REQUEST] Landscapes need a rework after years without big changes

    Using Landscapes this week for a project I notice there is near no changes since the version of 2010-2011 in UDK landscapes that was 6-7 years ago guys. The max quality you can get at set all parameters max in a landscape right now is 1 vertex per 1m that in the modern games is really bad, yeah you can scale the landscape from 100x100x100 to 50x50x50 to get 1 vertex per each 50cm but I notice at have a empty scene with a single directional light and 4 landscapes of this making a cubic zone of 8x8KM 4x4km each one cause the max size per landscape by default is 8Km as in 2010-2011 that 4 plane landscapes of 4x4km each one without even materials take my whole 16GB of Ram .

    The today games have way more polycount detail than this: x2 to x4



    This is about a .25 of difference between new terrains vertex, we are more or less in 2017 after all this is not 2010 anymore.

    This is about performance and visuals but too about tools, my request are more like this:

    - Why can't edit 2 or 4 landscapes at time I can't manage to get their corners look at same height without holes and the terrains need to be at same height.

    - Move the terrains in the editor sometimes is locked and other take years to move, at copy to clipboard a empty landscape of 8x8KM the engine crash with a i7 and 16GB of Ram!

    - Some times at place entities with the foliage tool you want to place non instance objects, you just want place a small group of instances or don't even need to be in the landscape can be in a static mesh (note you can already place in non landscapes).
    https://answers.unrealengine.com/que...instances.html

    - Other times you need at place entities with the foliage tool automate a system to edit the terrain zone where are placed as for example if you have sand and need move the corners to give effect where the mesh in placed... https://answers.unrealengine.com/que...e-foliage.html

    - More detail in the landscapes we need x2 or x4 more detail the current 1m vertex is really bad when need detailed terrains, the player can't even walk in zones.

    - Better performance please. 16GB for 4 empty landscapes is really absurd and the map is about 512-580MB.

    - Other engines uses offline tools that don't need to load the materials of content or do rare game logics to setup in editor the materials layers and vegetation calculating all in editor and without the need of calculate nothing of that logics in the materials or BP. As example http://twvideo01.ubm-us.net/o1/vault...eation_and.pdf credits to the The Witcher 3 creators
    credits to the LumixEngine author

    - All of this without count with this system you can't make caves, or non vertical terrains.

    - And the vertical LODs requested in 2014 not added yet.



    Looks like Epic Games don't even use the landscapes for their games as UT, Paragon or others looks like they use terrain meshes to get more detail and performance.



    Thanks for you time.
    Last edited by Hevedy; 10-11-2016, 11:47 AM.
    Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
    Hevedy - Image Tools: https://hevedy.itch.io/imagetools

    #2
    You may get more detail from a mesh landscape but you won't get more performance. The key there is what performance for what scale of detail you are willing to take. Landscapes seem to be made to be hidden by materials and foliage. Yet underneath they will be more performant than a mesh equivalent. I don't have much knowledge on the landscape proxy but I would guess the method is designed this way for so long because it's the best method for the tech.
    http://unrealdeveloper.uk

    Comment


      #3
      Originally posted by Doublezer0 View Post
      You may get more detail from a mesh landscape but you won't get more performance. The key there is what performance for what scale of detail you are willing to take. Landscapes seem to be made to be hidden by materials and foliage. Yet underneath they will be more performant than a mesh equivalent. I don't have much knowledge on the landscape proxy but I would guess the method is designed this way for so long because it's the best method for the tech.
      well as said before to make some terrain that looks like the terrain in the video you need probably reduce the landscape sizes from scale 100 to 25 that give you the need of make 8km landscape to cover just 2km at the end and with 4 of that the engine take more than your computer 16GB so something fails here, yeah make meshes is other way but as you said won't give more performance but anyway probably something can be done here since with just 4 or 3 landscapes the computer is at max...
      Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
      Hevedy - Image Tools: https://hevedy.itch.io/imagetools

      Comment


        #4
        That's a bit of an exaggeration UE4 landscapes aren't that low-res.. there are plenty of good looking landscapes done in UE4.. plus you can use tessellation (like most games nowadays probably do).

        I would say performance is probably the main problem and the editing tools.

        Performance could definitely be better (use of better LODing system, quad-trees maybe?), the editing tools are either not good enough or completely useless in my case (if you want a proper terrain you absolutely have to use a heightmap generation tool like world machine), there is no voxel engine for caves etc. and no real-time editing or procedural generation.

        I think the resolution of the landscape mesh is not really a problem.. I suppose we could have better density control and height interpolation options but I would personally be far far more interested to see a voxel engine and real-time editing.

        4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
        WIP Interactive Water Shader, WIP 2D Water Sim
        WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

        Comment


          #5
          ? Empty level with max size terrain (8.1 sqkm) takes 4,2gb memory(1gb~ with an empty map) (task manager) and a file size of 130mb~. Not to mention that a map that size is about 67.1 million verts. But that's a ****ing massive map tbh. Kalimdor (WoW) is "only" 8km in height as well. At the end of the day the terrain should only really give you flat areas and act as a base ground. Just go to photoshop with that 8k heightmap and use gaussian blur very liberally and you should be arriving at something it's meant to be used for.

          Comment


            #6
            Originally posted by TK-Master View Post
            That's a bit of an exaggeration UE4 landscapes aren't that low-res.. there are plenty of good looking landscapes done in UE4.. plus you can use tessellation (like most games nowadays probably do).

            I would say performance is probably the main problem and the editing tools.

            Performance could definitely be better (use of better LODing system, quad-trees maybe?), the editing tools are either not good enough or completely useless in my case (if you want a proper terrain you absolutely have to use a heightmap generation tool like world machine), there is no voxel engine for caves etc. and no real-time editing or procedural generation.

            I think the resolution of the landscape mesh is not really a problem.. I suppose we could have better density control and height interpolation options but I would personally be far far more interested to see a voxel engine and real-time editing.
            Not exaggerated check make a 8Km landscape with all max and check in the default size 100x100x100 scale place your character is the same result.

            And even with the LODs enabled and probably even at max you get the same x4 landscapes takes +16GB of ram

            Tessellation don't round the landscape looking, that is a effect by SubD and is not available for Landscape.


            Originally posted by Reko View Post
            ? Empty level with max size terrain (8.1 sqkm) takes 4,2gb memory(1gb~ with an empty map) (task manager) and a file size of 130mb~. Not to mention that a map that size is about 67.1 million verts. But that's a ****ing massive map tbh. Kalimdor (WoW) is "only" 8km in height as well. At the end of the day the terrain should only really give you flat areas and act as a base ground. Just go to photoshop with that 8k heightmap and use gaussian blur very liberally and you should be arriving at something it's meant to be used for.

            Modern games aren't Wow anymore, there are new ones that the map is probably bigger than 10km and you have Arma and other games where is way bigger than that.

            Is not about a limit with the terran and heightmap is limit of edit the terrain in engine and quality that it gives.

            If you need quality as in that video the Landscape of 8km need to be reduced to 2km and will cost the same memory.
            Last edited by Hevedy; 10-11-2016, 11:28 AM.
            Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
            Hevedy - Image Tools: https://hevedy.itch.io/imagetools

            Comment


              #7
              Also to add to this (and note that I'm not an expert in large landscapes by any stretch but) you would want to split a large landscape to smaller tiles to get more detail out of it and use level streaming or switch each tile to a lower-res static mesh representation based on camera location.

              I'm sure there are plenty of other methods and optimization strategies to manage large landscapes.. it takes some work and all but it's surely doable.

              IMO Epic should focus on improving performance, memory management, and finally implement a real-time/procedural editing system (because we have been asking that since UDK) and possibly a voxel engine.. although I don't see that last one happening before 2025 unfortunately .

              4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
              WIP Interactive Water Shader, WIP 2D Water Sim
              WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

              Comment


                #8
                You can use the landscape resample to add more verts to landscape.

                Comment


                  #9
                  Originally posted by Hevedy View Post
                  Not exaggerated check make a 8Km landscape with all max and check in the default size 100x100x100 scale place your character is the same result.

                  And even with the LODs enabled and probably even at max you get the same x4 landscapes takes +16GB of ram

                  Tessellation don't round the landscape looking, that is a effect by SubD and is not available for Landscape.
                  It's a pretty exaggerated example come on that's a lot of sharp edges.. it would never look like that with a good heightmap.

                  And tessellation does in fact smooth it.

                  No tessellation:


                  With tessellation:


                  I'm not arguing about the performance and memory footprint though.. it's really bad.. but that's exactly my point, this is a performance/memory problem not a vertex density problem or w/e .

                  4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
                  WIP Interactive Water Shader, WIP 2D Water Sim
                  WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

                  Comment


                    #10
                    Originally posted by TK-Master View Post
                    It's a pretty exaggerated example come on that's a lot of sharp edges.. it would never look like that with a good heightmap.

                    And tessellation does in fact smooth it.

                    No tessellation:


                    With tessellation:


                    I'm not arguing about the performance and memory footprint though.. it's really bad.. but that's exactly my point, this is a performance/memory problem not a vertex density problem or w/e .
                    mmm can you share the material setup ? But that looks like the default engine material how you made that ? O_O

                    If you're using the heightmap for the material tessellation then won't be really useful, cause there I don't use heightmap.

                    Sadly the collisions will keep bad as in the first

                    Main problem of your solution is the player will cross throw the terrain, cause the collision

                    By the way if I try to set a material with Tessellation in the 8x8Km landscape the engine collapse.

                    Note I'm using the 4.13 that say work better but with a single landscape of 8x8km with tess take my whole memory another time 16GB or Ram...
                    Last edited by Hevedy; 10-11-2016, 01:05 PM.
                    Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
                    Hevedy - Image Tools: https://hevedy.itch.io/imagetools

                    Comment


                      #11
                      I just copied the default material from engine content and added tessellation.

                      Tessellation seems to still be glitched in landscapes though, it doesn't perform well even with 0 tessellation but assuming this gets fixed it should solve the vertex density problem.

                      You are probably right about collision didn't thought of that but the terrain collision is not fully accurate anyway, it's probably usable in most cases.

                      Edit:
                      Keep in mind however that with a carefully crafted (or blurred) heightmap you can avoid all of these sharp edges that you see here.. it's not usually a problem.
                      If you need to blur the heightmap too much then you can probably add back some of the detail by generating a normal map of the un-blured heightmap.
                      Last edited by TK-Master; 10-11-2016, 01:18 PM.

                      4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
                      WIP Interactive Water Shader, WIP 2D Water Sim
                      WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

                      Comment


                        #12
                        Originally posted by TK-Master View Post
                        I just copied the default material from engine content and added tessellation.

                        Tessellation seems to still be glitched in landscapes though, it doesn't perform well even with 0 tessellation but assuming this gets fixed it should solve the vertex density problem.

                        You are probably right about collision didn't thought of that but the terrain collision is not fully accurate anyway, it's probably usable in most cases.

                        Edit:
                        Keep in mind however that with a carefully crafted (or blurred) heightmap you can avoid all of these sharp edges that you see here.. it's not usually a problem.
                        If you need to blur the heightmap too much then you can probably add back some of the detail by generating a normal map of the un-blured heightmap.
                        This is really bad one single 8x8Km landscape with a material that have a tess with x0.5 multiplicator and low LOD0 give 60FPS and don't work correct with the non linear landscape LODs and far away components just hide and is taking the 16GB of Ram in my computer

                        Without count with all the wrong shadows...
                        Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
                        Hevedy - Image Tools: https://hevedy.itch.io/imagetools

                        Comment


                          #13
                          Tessellation is semi broken until 4.14.

                          Edit: Just resample it to get more verts. Why you haven't done that already?

                          Comment


                            #14
                            Originally posted by Maximum-Dev View Post
                            Tessellation is semi broken until 4.14.

                            Edit: Just resample it to get more verts. Why you haven't done that already?
                            resample what you mean ?
                            Hevedy - Instance Tools: https://hevedy.itch.io/hevedyinstances
                            Hevedy - Image Tools: https://hevedy.itch.io/imagetools

                            Comment


                              #15
                              Originally posted by Hevedy View Post
                              resample what you mean ?
                              From the drop down select Change component size, put Resize mode on Resample, increase Sections per component. You can see for me it went from 505x505 verts to 1009x1009 which means 1 vertex per 0.5 meters. Increasing Sections per component results in even denser verts.



                              Comment

                              Working...
                              X