UDK Notes - Landscapes, Terrains, Islands And Backgrounds
Landscape objects are great because they can be sculpted right in UDK and will automatically have accurate collision geometry and levels of detail. It's quite easy to build an environment based around a landscape object.
Remember that a landscape is just a base. You will create many detail objects (rocks, cliffs, trees, etc) to decorate the landscape with.
If you have an existing scene you can bring in a model from Maya to use as reference and model your landscape to match it.
You can also export your scene, including the landscape, to Maya.
You can use other software to generate landscape but this can be fairly complicated. Since the sculpting tools in UDK are good, we recommend you just sculpt the landscape in UDK.
For distant background objects, you can just use static mesh objects. Either model them at a large size or set the draw scale large. (You can get away with extreme changes in draw scale here because there are no collisions or other calculations needed for far off background objects.)
A Example Of Using A Landscape For A Small Island
For an explorable but fairly small scale island, the following settings work well
- Background (Sky And Water)
- Sky (see sky section below for more info)
- Create a sphere and invert the normals
- Water/Ocean (see water section below for more info)
- Use the top of cylinder with several cap segments, but center the verts on the origin in your 3D software
- Scale it to be very large in UDK (eg. 64)
- Background Objects
- Create simple low poly islands in distance, and use cards (planes with alpha maps) for really distant elements
- Landscape for a small island (see island landscape section below for more info)
- Height and Width - 1009 (Components 63 x 4, these options will fill in themselves.)
- Scale: 16,16,16
- Location: -8192, -8192, 0
- Sculpt the landscape, using push/pull mode, push all the landscape down, where it will be underwater
Water
Make a polygon cylinder
Radius: 512
Height: 512
Subdivisions Axis: 32
Subdivisions Caps: 64
Delete the sides and the bottom
Move all the verticies down 256 (so their y location is zero)
Sky sphere
Make a polygon sphere
Radius: 512
Subdivisions Axis: 32
Subdivisions Height: 64 (delete most edges after)
Remove extra edges
keep the ones near the top
get rid of every second horizontal row
Invert the normals (select all faces in Maya, Normals > Reverse)
Load your texture into the incandesence in Maya
Export the scene as a FBX file.
In UDK, set the drawscale of the sphere and water to 16 in order to have a full size of 16384
( 512 original size * 16 draw scale * 2 )
2 comes from 2 radius/1 diameter
Create a material for the sky sphere
It should be roughly as follows:
Material
Emmissive
Multiply
A=Multiply
A=VectorParameter.Color
B=VectorParameter.Alpha
B=TextureSample.Color
Apply the material to the sky sphere
Change the properties of the static mesh sky sphere
(Double click the skybox mesh in the scene)
Static Mesh Actor
Static Mesh Component
Override Lightmap Res: on
Override Lightmap Res: 0 (zero, this means vertex lit or no light)
Lighting
Cast Shadows: off
Landscape For Island
- Landscape for a small island
- Height and Width - 1009 (Components 63 x 4, these options will fill in themselves.)
- Set the properties of the landscape
- Return to camera mode (like object mode select tool in maya)
- Select the landscape
- Double click the landscape to bring up its properties
- In the display section, Set the draw scale xyz to 16,16,16
- In the movement section, Set the location to xyz: -8192, -8192, 0
- Go back to the landscape mode and activate the sculpt tool
- Sculpt the landscape using push/pull mode
- ctrl mouse drag to pull, ctrl+shift+mouse drag to push
- push all the landscape down, where it will be underwater
- pull the parts of your island back up
- use the flatten tool and the smooth tool a lot to get good shape on your island
- use the erosion tools and the noise tools to get details into the shape
Background Objects Such As Distant Islands
Paint an island in photoshop on a transparent layer
Create a targa with an alpha channel (save as 32bits)
To use an alpha channel for transparency in UDK:
set the material type from BLEND_Opaque to BLEND_Mask
plug the alpha of the texture to the materials opacity mask