Latest
|
Search
|
Go
Edit this page
|
Attach file
Home
|
Tutorials
|
Technical Reference
|
Runtime
|
API Documentation
|
TerrainGuide
ContentCreation
Reference & Documentation
TutorialVideos
RealityBuilder
MaxShaderPlugin
MaxToolsPlugin
MayaPlugin
MayaExportingGuide
Builds & Tools
RealityBinaries
Melody
Level Development
MakingYourFirstLevel
PrefabsOverview
InstancingPrefabs
LightingTutorial
IndoorOutdoorLighting
AmbientOcclusion
StaticShadowMapping
ShaderUsage
SceneOptimizations
PhysicsSystems
TerrainGuide
BreakableObjects
MultishapeActors
RigidActors
JointsEditor
SoundFX
WaterTutorial
MixMapTutorial
DynamicSkyTutorial
MiscTopics
CreatingDecals
ShaderWriting
ScriptWriting
Game Sample Programming & Objects
VSNetExpress
SharpDevelopTutorial
NovodeXPhysics
GameModules
ActorHierarchy
EvalKit
ScriptingSystem
DemoPlayer
ThirdPersonCamera
RagDolls
NetworkingSystem
ClientNetworking
ParticleSystems
PhysicsSystems
CreatingGUIs
CreatingVehicles
CreatingWeapons
Guidelines & Specifications
NormalMapping
SkinnedCharacters
SkinnedMeshes
TextureGuidelines
BumpMapping
SoundAndMusic
SphericalHarmonics
PrtGuide
HardwareGuidelines
External Links
The Art of Level Design
Common Sense vs Level Design
Creating Normal Maps with ATI Tools
Terrain Guide
Introduction
Steps
Creation
Assign Material
Lighting/PRT
Optimization
Mesh Split Modifier
Break Mesh Into Subelements Modifier
Tutorial Author:
Clifton Poli
TerrainGuidepic1.jpg:
Introduction
This tutorial is meant to act as a guide to level designers on how to set up terrain in Reality Engine.
The Reality engine does not treat terrains any differently than any other prefab in a scene, this is one of the main differences compared to other engines which may have specialized terrain creation/rendering systems. As you can see in the EvalKit levels the terrain is a prefab just like any other mesh in the scene. However becuase of the nature of terrain there is a few things you should consider of which are explained below.
Steps
Creation
Terrain certainly isnt very complicated to make, so I will just give an overview on how to go about it.
The way I like to create terrains is to create a heightmap (greyscale texture) in PS, and then use that to displace a tesselated plane in a 3d app. This gives me the general shape of the terrain, I can then do detailing and adjustments by using editing tools such as soft selection and vertex manipulation.
Once the model is completed the terrain's uvs need to be unwrapped. Also consider adding a 2nd uv channel with the flattened uvs if you want to use per-pixel PRT on the terrain (tends to be the preferred method for things like terrain).
Next thing to do is export, if you are using 3ds max the prefered format is .xml, otherwise you will need to use .x or .obj.
Assign Material
Once you have merged/imported your terrain into RB you will need to apply a material/s too it. If you do not know how to do this read the
MakingYourFirstLevel
tutorial. If your terrain is pitch black, that just means there is no lights lighting it up, so just turn on the skybox or add a few omnis in there and then you should be able to see it. For more information on setting up the shader check out the
MixMapTutorial
.
Lighting/PRT
Ok so unless your terrain is an underground cavern or something you will want to use the skybox to light it. So first thing to do is go to Game/Edit World Properties (Alt+W) and set the Enable Sky setting to true. Remember you can have both the sky light and regular lights lighting up your terrain if you choose. For a more detailed look at how to do this see
LightingTutorial
,
SphericalHarmonics
, and
PrtGuide
.
Lighting has a lot to do with how you set up the optimization of the terrain, since lighting and optimization go hand and hand in Reality engine. So when setting up PRT on terrain that has been broken up into its subelements you must generate PRT on each section becuase each section is a unique prefab. However the problem with this is that seams may develop along the edges where one section of terrain meets another. This is the only negative aspect of breaking up the terrain this way.
TerrainGuidepic5.jpg:
Using only the split mesh modifier on your terrain would let you do seamless PRT on the whole thing, however that also has its own drawbacks as is explained in the optimizations step.
Optimization
The main concern for terrain is draw calls and fill rate. Since draw calls effect both CPU and GPU it is important to find the balance for your scene. The tools described below give you the ability to find that balance. Also remember that these tools can be used on any prefab not just terrains.
Mesh Split Modifier
TerrainGuidepic2.jpg:
This modifier is helpfull in situations where you have both PRT and multiple lights lighting your terrain. It can take some trial and error to find the balance with this. For more info see
SceneOptimizations
.
Some things to consider about this modifier is that you cannot set up light lists for the subelements of the terrain. Also the subelements of the terrain are only affected by view culling(frustum culling) and light culling, and when you set the view distance setting on the terrain, it only affects the terrain as a whole.
Break Mesh Into Subelements Modifier
TerrainGuidepic3.jpg:
TerrainGuidepic4.jpg:
To use this modifier requires that the prefab has already been split up by the Mesh Split modifier.
For large surfaces lit with multiple overlapping light sources this is the modifier of choice. It turns a prefabs subelements into full fledged unique prefabs without creating seams/breaks in the normals, and gives them all their benefits such as distance culling, per-pixel occlusion, light lists, and LODs.
Attachment
Action
Size
Date
Who
Comment
TerrainGuidepic1.jpg
manage
45.0 K
26 Mar 2005 - 07:14
Main.guest
TerrainGuidepic2.jpg
manage
37.6 K
26 Mar 2005 - 07:14
Main.guest
TerrainGuidepic3.jpg
manage
77.9 K
26 Mar 2005 - 07:14
Main.guest
TerrainGuidepic4.jpg
manage
90.9 K
26 Mar 2005 - 07:14
Main.guest
TerrainGuidepic5.jpg
manage
60.3 K
26 Mar 2005 - 07:15
Main.guest
TerrainGuide
Edit
|
Attach
|
Ref-By
|
Printable
|
Diffs
| r1.2 |
>
|
r1.1
|
More