Назад

   Существует множество различных приложений, способных создавать и сохранять 3D-модели. В DarkBASIC можно использовать как формат "X" DirectX, так и формат "3DS" 3DStudio. В отличие от стандартных примитивов DarkBASIC, модели этих форматов помогут вам создавать более реалистичные и богатые графикой сцены.

Sync On
Sync Rate 30
Hide Mouse
autocam off
 

Backdrop on
Set camera range 1,5000

Fog on
Fog distance 4000
Fog color RGB(128,128,128)
Color Backdrop RGB(128,128,128)

Rem Создаем матрицу
Make matrix 1,10000,10000,20,20

Rem Текстурируем матрицу
Load image "grass09.bmp",1
Prepare matrix texture 1,1,1,1
Fill matrix 1,0,1

rem Присваиваем координатам вершин матрицы случайные значения
randomize matrix 1,125

rem Загружаем объект
Load object "idle.x",2

position object 2,5000,Get Ground Height(1,5000,5500),5500

Rem Основной цикл
Do
set cursor 0,0
print X#
print Y#
print Z#
 Rem  Сохраняем угол объекта
 CameraAngleY# = Camera angle Y()

 Rem  Управление перемещением камеры
 If Upkey()=1
  XTest# = Newxvalue(X#,CameraAngleY#,20)
  ZTest# = Newzvalue(Z#,CameraAngleY#,20)
  If XTest#>0 and XTest#<10000 and ZTest#>0 and ZTest#<10000
   Move camera 10
  Endif
 Endif

 If Leftkey()=1 then Yrotate Camera Wrapvalue(CameraAngleY#-5)
 If Rightkey()=1 then Yrotate Camera Wrapvalue(CameraAngleY#+5)

 X# = Camera position X()
   Z# = Camera position Z()

 Y# = Get ground height(1,X#,Z#)
 Position Camera X#,Y#+35,Z#

 Rem Обновляем экран
 Sync
Loop

 

Прежде всего, введем несколько полезных команд.

  Hide Mouse

Команда "Hide mouse" убирает с экрана курсор мыши. В большинстве случаев в 3D-сценах курсор мыши на экране вам не понадобится.

  autocam off

Команда "Autocam Off" выключает режим автоматической камеры. Когда этот режим включен, то при создании каждого новый объект в DarkBASIC, камера перемещается для того, чтобы показать этот объект. Если загружается большое число объектов, камера будет показывать каждый из них по мере загрузки. Выключение этого режима также играет свою роль при загрузке матрицы. Когда режим автоматической камеры выключен, камера устанавливается в центр созданной вами матрицы. Если режим включен, то камера будет установлена в позицию с координатами (0,0,0) в 3D-сцене.

  Load object "idle.x",2

"Load Object" - основная команда для загрузки объекта в DarkBASIC. Первый параметр этой команды - имя файла объекта, загружаемого в 3D-сцену. Чтобы команда распознала имя файла, оно должно быть заключено в кавычки. Второй параметр команды - это номер, назначаемый данному объекту. Эта команда очень похожа на команды "Make Object". Все команды для работы с объектами, описанные в предыдущих уроках, будут работать с загруженными объектами точно так же, как они работают с объектами, созданными в DarkBASIC.

  Loop object 2

Команда "Loop Object" осуществляет циклическую анимацию загруженного в DarkBASIC объекта. Если загруженный объект не содержит данных об анимации, использование этой команды может вызвать ошибку. Создавая анимированный объект в специальной программе, обратите внимание на плавность анимации в цикле, в противном случае будет наблюдаться дергающееся движение при переходе модели от последнего к первому кадру анимации.

 

Hosted by uCoz