Announcement

Collapse
No announcement yet.

How to cull terrain ?

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

    How to cull terrain ?

    Hello,

    I was wondering if it's possible to cull a terrain ? I presume it can be done, I just don't know how. I already check some settings like the 'LOD' but they don't see to be effective in game ?

    The reason is to gain FPS. I'm using 2 relatively small terrains in my map & there is no need to render the 2 of them full time.

    Any help appreciated.

    THX in advance.

    #2
    Can't you use the add/remove sectors button in the terrain editting panel. Also I thought that the utengine only rendered what was visible, so any terrain not visible would not be rendered.

    Comment


      #3
      THX but I already use the terrain invisibility tool to hide unnecessary sections.

      Just load a map in the editor, remove the BSP / SM & look the terrain from a distance by going back & forth & you will see that the remaining sections are always visible.

      I'm searching something more like mesh culling but for terrain only.

      Comment


        #4
        Originally posted by stevelois View Post
        I'm searching something more like mesh culling but for terrain only.
        Check out this page from the UDN site. It's written by DG Unreal. From what I understand/remember, terrain already has a built in "culling" feature of sorts. Depending on a few factors, they will determine how well it can be "culled".

        Of course, your tessellation level will also factor into the mix. The higher it is, the smaller your triangles, the more the terrain has to render, but your terrain can be "smoother".

        Comment


          #5
          Funny,

          When I made my first map, Station12, I check that UDN page & I didn't really understand much.

          When I did Aly in the end of 2009, beginning of 2010, I recheck again & didn't understand much more.

          Now, in 2010, I did recheck & again, while I understand a bit more but not by much, I try some settings & the terrain get all messy !

          Tessellation seem to be the key but I can't make it work right **** it !

          I think I'm slow.......

          LOL

          But THX anyway for the link

          Comment


            #6
            Originally posted by stevelois View Post

            I think I'm slow.......

            LOL
            I know how you feel. I think the hard part is that there is so many different areas that effect each other, but may not make sense to the average mapper.

            After picking the correct size, I just mess with the tessellation to determine how "smooth" I want the terrain to be. I then just "erase" the terrain that can't be seen.

            Keep in mind that you can use multiple terrain actors. The only downfall may be the in the total number of texture samples you can use. I know that one terrain actor has a limit, but the same limit may apply to all the terrain actors combined?

            Comment


              #7
              Originally posted by Odedge View Post
              ...After picking the correct size, I just mess with the tessellation to determine how "smooth" I want the terrain to be. I then just "erase" the terrain that can't be seen...
              This is the part I don't understand, Tesselation is associated to the shape of the terrain (like when you sculpting the terrain playing with the height) or the parts that cull automatically ???

              Keep in mind that you can use multiple terrain actors. The only downfall may be the in the total number of texture samples you can use. I know that one terrain actor has a limit, but the same limit may apply to all the terrain actors combined?
              Yeah, I already know about the textures limitations (I also experience the rainbow effect in multiple testings). But I doubt that this is limitation apply to all the terrain actors combined since they're all completely different actors, the sum of all shouldn't been taking into account.

              Comment


                #8
                Originally posted by stevelois View Post
                This is the part I don't understand, Tesselation is associated to the shape of the terrain (like when you sculpting the terrain playing with the height) or the parts that cull automatically ???
                Tessellation is basically the size of the triangles that form the terrain. In the terrain editing windows, there is a button to either increase or degrease the size of them.

                When you increase them, there is obviously more terrain polys to render, but you can sculpt your terrain more precisely. That is assuming you need that precision.

                But I doubt that this is limitation apply to all the terrain actors combined since they're all completely different actors, the sum of all shouldn't been taking into account.
                Make sense. In the one map I had terrain in, my second terrain actor didn't use that many layers, while the main terrain did. I was just putting that out there as a "may happen".

                I think the following info is what you are looking for to answer your question of "culling" terrain.

                The MinTesselationLevel property should normally be set to the default value of 1. If it is set to the same value as the MaxTesselationLevel property, then the result is the same as setting both properties to 1, no tesselation occurs. If the MinTesselationLevel is set to a value such as one half of the MaxTesselationLevel, ie. Min = 2 and Max = 4, then the number of tesselation areas will be less and the further distance terrain will not have increased optimization quads. In other words, a Min:Max of 1:4 results in two optimized distance areas, a Min:Max of 2:4 results in only one optimized distance area.
                The bigger your terrain, the more you want to use the 1:4 setting. I would also presume that this is true if you have a wide open map. Since you can't see how the engine renders the map in game, it's kind of hard to know exactly what's going on.

                If the MaxTesselationLevel is set to a value other than 1 to enable the distance LOD optimization system, the values supported by NumPatches is now limited to a multiple of the MaxTesselationLevel value. For example, if MaxTesselationLevel is 4, NumPatches can be 4, 8, 12, 16, 20, 24, ..., etc. If MaxTesselationLevel is 8, NumPatches can be 8, 16, 24, 32, 40, 48, ..., etc. It is highly recommended to use the dynamic distance LOD tesselation optimization, even though this will limit the choice of terrain size to only multiples of the MaxTesselationLevel value.
                This is the "catch" in having the terrain optimize itself. You are required to use a certain number of patches. I am not sure if you have to use the same number for NumPatchesX and NumPatchesY, but my guess would be that you wouldn't have to, but don't quote me on that.

                Also, I don't know if making part the terrain invisible has any effect on this, but I would guess not, since the terrain is still there, it's just not rendered.

                • Use DrawScale XY values between 256 and 512 and preferably no lower than 128. Values lower than 128 create dense terrain meshes that require a lot of rendering power.
                • Make good use of the built-in distance LOD Tesselation feature by setting the Terrain.MinTesselationLevel to 1 and Terrain.MaxTesselationLevel to 4. Disabling the Tesselation feature usually results in more terrain triangles being rendered in the frustum, requiring more rendering power.
                • Limit the number of Materials applied to the terrain. The fewer and simpler the Material setup, the faster it will render.
                Here are the main ways to optimize terrain (not including setting certain parts to be invisible).

                Also a note on the materials. Since UT 3 terrain doesn't support Specular in materials, if you are using a default material that has it, it might be best to duplicate the material and remove that section. This is especially true if you are using a lot of layers and may turn the terrain into "Rainbow Brite" land.

                Comment


                  #9
                  THX for trying to explain the UDN text Odedge,

                  While I understand a tiny bit more, I did some tests on Gothia & as you can see, this is the actual terrain with a maxtesselation value of 1:

                  [screenshot]http://img256.imageshack.us/img256/3831/terrain1.jpg[/screenshot]

                  I change the value to 4, it became all messy :

                  [screenshot]http://img42.imageshack.us/img42/4968/terrain2.jpg[/screenshot]

                  Did a full rebuild, the same :

                  [screenshot]http://img696.imageshack.us/img696/4338/terrain3.jpg[/screenshot]

                  I also test with a value of 2 instead of 4, same

                  But THX to helping anyway m8

                  Comment


                    #10
                    Originally posted by stevelois View Post
                    THX for trying to explain the UDN text Odedge,

                    While I understand a tiny bit more, I did some tests on Gothia & as you can see, this is the actual terrain with a maxtesselation value of 1:

                    But THX to helping anyway m8
                    Well unless you have your patches to "match" your maxtesselation value, it won't work as it's supposed to. I think this is something you need to set up from the beginning.

                    I am not sure how done the terrain is, but if it's still in the beginning stages of sculpting, you might want to start from scratch.

                    Comment


                      #11
                      After my last post, I did mess around with the 3DScale & understand a bit it more.

                      I won't put much effort in this terrain or in Citius since they're relatively small but I have another map in mind which will use more terrains & will be easier to paint.

                      But indeed, it's something that must be set from the start or else you have to redo all the work again.

                      Comment

                      Working...
                      X