No announcement yet.

Building 2km square terrain - ideas and implementation

  • Filter
  • Time
  • Show
Clear All
new posts

    Building 2km square terrain - ideas and implementation

    Hi All

    A project I am working on involves building a piece of terrain around 2km square, with only one square km in the middle being available for movement and the rest just filling out the background.

    I am quite new to UDK and need to know the best way to build this terrain. I guess my two options are:

    Terrain Tool
    Static Mesh(es)

    I like the terrain tool and how you can add foliage layers and also paint different textures right on. I'm not too sure about how far you can push these materials though. For instance, can you add an overiding normal map to the whole terrain, that blends with the individual material normal maps?

    I'm picturing modeling the terrain in UDK, then exporting to Zbrush to add more detail and generating a normal map to apply back to the terrain object. Not sure if it's possible though...

    Finally, if I choose to go the static mesh route, is it possible to set up materials to mimick the terrain painting process? ie - paint straight onto the static mesh with blending and so forth?

    For what it's worth, the terrain will have quite a lot of things like rocks, grass, trees etc.

    Thanks for the help

    There's a tutorial on unreal developer network where they show how to apply a 4096x4096 normal map onto a terrain. So adding additional detail in zbrush is definitely a good way to do it, you just have to figure out the export/import/export hassle :P


      I'm not sure any normal map is going to be appropriate to use on that kind of macro-scale. On a 2km across terrain, each pixel on the largest possible normal map (4096x) is going to represent about half a meter - quite visible?


        I'd just edit in Zbrush and then (or keep it in UDK) and paint it with some detailed brushes and then make a normal map and thigns for detail that can go all over it... and tile it alot. Now if you zoom out, you would see it was tiled, but you can set up that material so that when you zoom far enough away, it fades out. So it'd be like the detail map.


          Originally posted by ambershee View Post
          I'm not sure any normal map is going to be appropriate to use on that kind of macro-scale. On a 2km across terrain, each pixel on the largest possible normal map (4096x) is going to represent about half a meter - quite visible?
          When working with terrains you must use several texture layers and split the terrain into several pieces to get rid of tiling or the apparent low-resolution macro maps.

          So generally you could use a macro diffuse/normal map so the terrain looks awesome at a distance, then use micro tiling for those close details so the 1 meter pixel isn't in your face at any time. This is usually solved by using a depth check and blending with a Linear Interpolate (LERP).


            So what you're saying is that you have an overall normal map that fades into the detailed normal maps as they get closer to the camera?

            If so, sounds like an ideal solution.

            Thanks everyone else as well, it's given me more to ponder over...


              Look at the super maps and such over on UDN. I was reading around about how to make terrain sexy and there is alot of cool tricks now that shaders are mainstream.


                Why not make the terrain in Zbrush and render it to a heightmap? Not sure if you render to texture like that in Zbrush, but export to Max or something and you can do it pretty easily and create a physical bump instead of virtual displacement, which looks weird if you angle the view.


                  DX11 starts the whole world of proximity tessellation and geometric deformation on a shader level. However the issue still at hand will boil down to doing far, med and close texturing tricks to allow for a good look vs a 1 meter wide pixel.

                  If you export a hightmap you can inject it into the Terrain editor as it runs with grayscale maps for everything. You could also paint your deco layers this way as well.


                    Well if we were using DX11 that would be greatly useful.

                    Can you set LOD on terrain?


                      Yeah, it's min and max tessellation, you can also uncheck morphing.


                        Does anyone know why the lighting on a terrain mesh is worse than on a static mesh? Here is my example:

                        Terrain on right, static mesh on left.

                        The terrain was made from a heightmap render of the static mesh (in Max, using a gradient ramp and render to texture). It is a 65x65 map, the terrain is 64x64 patches.

                        As you can see, the static mesh has a greater degree of light variation and the shadows are picked up better, especially along the left hand edge.

                        Is there any reason why the terrain isn't displaying like that? It just looks coarser overall.



                          I remember reading the reason in the UDN. I think I recall it being a illusion and issue with default lighting for terrain vs static meshes.


                            You built it with preview settings? Because the preview setting doesn't emit nearly as much photons as with production settings, resulting in blotchy lightmaps and uneven ambient lighting.


                              Here's some really nice ways to do very large terrains.


                              The sections on Terrain Alpha Maps, Macro Textures, and Expanded Overlay MultiTiling (really amazing way to use several small, the example is 512x512, high-res textures across a single terrain) would be particularly useful to what you are trying to achieve.