Hilfe
Parameter
Datei$ | Dateiname und gegebenenfalls Pfadangabe einer Grafikdatei (bmp, jpg, png) |
Parent | Identität des Objekts, an das es angehängt werden soll |
Rückgabewert
Die Identität des Terrains wird zurückgeliefert. Wenn eine Null zurückgeliefert wird, dann konnte die Grafikdatei nicht geladen werden.
Beschreibung
Dieser Befehl lädt ein Terrain und liefert die Identität des Terrains zurück. Die rote Farbe des Bildes bestimmt dabei die Höhe des Terrains. Das erstellte Terrain hat danach die selbe Größe wie das Bild. Die Höhe des Terrains ist 1.
Tipps zur Erstellung eines guten Terrains:
-Glätte das Terrain (Weichzeichnen)
-Reduziere Y-Größe des Terrains
-Erhöhe X/Z-Größe des Terrains
-Reduziere CameraRange
Wurde der Parameter "Parent" angegeben, dann wird dieses Terrain zu einem Objekt hinzugefügt. Falls nun ein Parent-Objekt bewegt wird, dann werden alle hinzugefügten Objekte automatisch verschoben. Ein Child-Objekt verschiebt dagegen kein Parent-Objekt mit.
Das geladene Terrain wird normalerweise an der Position 0,0,0 erstellt. Wurde Parent angegeben, dann wird es an der Position des Parent-Objekts erstellt.
Heighmap-Beispiel
Beispiel
Standardbeispiel:
Graphics3D 640, 480, 16, 1
SetBuffer BackBuffer()
camera = CreateCamera()
PositionEntity camera, 1, 1, 1
light = CreateLight()
RotateEntity light, 90, 0, 0
terrain = LoadTerrain("media/height_map.bmp")
TerrainDetail terrain, 4000, True
ScaleEntity terrain, 1, 50, 1
grass_tex = LoadTexture("media/mossyground.bmp")
EntityTexture terrain,grass_tex, 0, 1
While Not KeyHit(1)
If KeyDown(205) = 1 Then TurnEntity camera, 0, -1, 0
If KeyDown(203) = 1 Then TurnEntity camera, 0, 1, 0
If KeyDown(208) = 1 Then MoveEntity camera, 0, 0, -0.1
If KeyDown(200) = 1 Then MoveEntity camera, 0, 0, 0.1
x# = EntityX(camera)
y# = EntityY(camera)
z# = EntityZ(camera)
terra_y# = TerrainY(terrain, x#, y#, z#) + 5
PositionEntity camera, x#, terra_y#, z#
RenderWorld
Flip
Wend
End