hikmayan13,
You're talking about once you've imported it into UDK, right? Then it's not Aaron's issue, let me explain.
( Just checking, which version of the UDK are you using? My school has a project team working on a game that uses the Sept '10 version, so we're waiting to upgrade until their project is done. As that's the case, the following uses the old "Terrain" system... I'm not sure if the new "Landscape" system has rolled out yet. With that in mind..... )
If that is the case, you probably are importing the Terrain as a 16bit G16 bitmap (if you didn't know, L3DT _can_ export these, and can even resize to the correct [power-of-2-#]+1 size on export).
Once you have the terrain mesh in UDK set correctly (# of Patches X/Y should equal the [power-of-2-#] you used), and displaced correctly, you have to set the
3D.Scale attributes.
Now here's the key:
L3DT _cannot_ include horizontal scale or vertical range in a G16 file, so you have to enter these yourself.
Go to Display > Draw Scale 3D
The default settings are DrawScale.X = 256, DrawScale.Y = 256, DrawScale.Z = 256.
These are the numbers we're going to have to change, but we'll have to do a little math first, and DrawScale.Z _will_ be different from DrawScale.X/Y.... I'm going to assume the terrain is square as that's easiest to work with.
Lets assume a Horizontal.Scale (from L3DT) of 5m, and a vertical range of 300m (-100 to +200).
Let's say your UDK terrain has 128 Patches.X/Y....
To get the correct slope in UDK you would do this (conversion from Unreal Units to meters is 50uu = 1m):
5m * 50 = 250uu
This is how big one 'Patch' will be, so set your 3DScale.X and Y to this Number.
OK! Now, we have to figure out the 3dScale.Z number. This is when it gets weird, and I had to experiment A LOT to figure out how the UDK designers setup this terrain system. This is what I have.
Set 3dScale.Z to:
0.5*(vert-range)*50uu / 256
Not sure why they went with that, as G16 files are supposedly 16 bit, but there you have it. So in our test case:
0.5*300*50 / 256 = 29.296875 (I'll round to 29.3)
Now that has gives us the correct Vertical-Scale, but it has probably left our terrain's "sea level" NOT at 0uu (Z-axis). If your terrain has a "sea level" that you like to reset to be at 0uu (Z-axis), we need to do some more funky math that I had to experiment to discover.
0.5 * (Max-Height - |Min-Height| ) * 50uu = Offset.
So in our example:
0.5 * 100 * 50uu = 2500uu
We then set this in the Terrain's Movement > Location > Z property.
Here is a few screenshots of my test terrain in L3DT (untextured, basic height-scale/water display) and UDK (wireframe) and the UDK properties:
An aside for Aaron: How hard would it be to export a mosaic of G16 images of [power_of_2] +1 ?