CreateTerrain ( grid_size[,parent] )

Параметры

grid_size - размер сетки ландшафта, должен выражаться степенью числа 2, т.е. 32, 64, 128, 256, 512, 1024.
parent (не обязательно) - родительский объект, к которому будет привязан ландшафт

Описание

Создает объект ландшафта и возвращает указатель на него.

Ландшафт простирается от 0,0,0 до grid_size, 1, grid_size.

Ландшафт - специальный тип полигонального объекта, который использует уровень детализации в реальном времени (level of detail - LOD), чтобы отобразить пейзажи, которые должны теоретически состоять из более чем миллиона полигонов (многоугольников), с использованием всего нескольких тысяч. Это достигается путем постоянного перестраивания определенного количества полигонов, чтобы ближе к камере детализация была больше, а с расстоянием она снижается.

Эта постоянная перестановка многоугольников иногда дает преимущества. Однако, есть и известный побочный эффект всех пейзажей LOD. Это эффект 'выталкивания', о котором будет разговор подробнее на других страницах.

Дополнительный родительский параметр parent позволяет Вам определять родительский объект для ландшафта так, чтобы, когда родитель будет перемещаться, дочерний объект будет двигаться вместе с ним. Однако, эта зависимость - односторонняя: применение команд движения к дочернему объекту не будет затрагивать родителя.
Если родительский объект указан, камера появится в координатах 0,0,0 относительно позиции родительского объекта (локальная система координат, привязанная к родительскому объекту).

Смотрите также: LoadTerrain.

Пример

; Пример CreateTerrain
; ---------------------

Graphics3D 640,480
SetBuffer BackBuffer()

camera=CreateCamera()
PositionEntity camera,0,1,0

light=CreateLight()
RotateEntity light,90,0,0

; Создаем ландшафт
terrain=CreateTerrain(128)

; Текстурируем его
grass_tex=LoadTexture( "media/mossyground.bmp" )
EntityTexture terrain,grass_tex

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.05
If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.05

RenderWorld

Text 0,0,"Use cursor keys to move about the terrain"

Flip

Wend

End

Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в интернете