|
file$ - имя файла рисунка, который будет использован в качестве карты высоты
parent (не обязательно) - родительский объект для привязки ландшафта |
|
Загружает ландшафт из файла рисунка и возвращает указатель на него.
Красный канал изображения используется, чтобы определить высоту. Первоначально созданный ландшафт имеет такие же размеры, как и рисунок, и высоту в 1 единицу. Подсказки для генерации хорошего ландшафта: * Сглаживайте или размывайте карту высоты * Уменьшите высоту ландшафта по оси y * Увеличьте размеры по осям x и z * Уменьшите "дальность зрения" камеры При текстурировании объекта текстура с масштабом 1,1,1 (значение по умолчанию) будет такого же размера, как одна из ячеек(полигонов) сетки ландшафта. Текстура, которая масштабируется к тому же самому размеру, как размер исходного рисунка, использованного в качестве карты высоты, будет такого же размера, как ландшафт. Дополнительный родительский параметр позволяет Вам определять родительский
объект для ландшафта так, чтобы, когда родитель будет перемещаться, дочерний ландшафт
будет двигаться вместе с ним. Однако, эта зависимость - односторонняя:
применение команд движения к дочернему объекту не будет затрагивать родителя. |
|
Пример LoadTerrain
------------------- Graphics3D 640,480 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 KeyDown( 1 ) If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0 If KeyDown( 203 )=True Then TurnEntity camera,0,1,0 If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.1 If KeyDown( 200 )=True 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 Text 0,0,"Use cursor keys to move about the terrain" Flip Wend End |