forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   3D мир (http://forum.boolean.name/showthread.php?t=4672)

Черный Лорд 06.10.2007 18:03

3D мир
 
Я сделал в 3d max уровень. Как мне его загрузить в bliz3D:SOS:

Данил 06.10.2007 18:29

Re: 3D мир
 
ужс...

LoadMesh ("Models\Map.b3d")

Exploder 06.10.2007 18:32

Re: 3D мир
 
:) Выход один - почитай форум) Я вот вообще ничего не спрашивал, учился сам. Ну если найдётся добрый прогер, который всё тебе распишет, то хорошо)

HolyDel 06.10.2007 18:43

Re: 3D мир
 
Цитата:

LoadEntity ("Models\Map.b3d")
Сначало уровень надо сохранить.

Черный Лорд, сохорани уровень в формате 3ds или b3d и загрузи его блицом, командой привиденной выше. Но хочу сразу предупредить что сначала еще надо инициализировать видео режим и создать камеру. Потом надо будет еще рендерить мир и менять местами буфера, т.к. сразу их создается аж целых ДВА.

примерно так
Graphics3D 1024,768,32,1
Cam=createcamera()
mir=loadmesh()
renderworld
flip

все. мир отрисуется и прилоение тот час закроется, ты его даже можеш не увидеть, "а почему?" спросиш ты, а "потомучто все что ты заказал - компьютер сделал, и считает себя свободным" отвечу я. Вот чтобы етого небыло надо создать цикл.

Graphics3D 1024,768,32,1
Cam=createcamera()
mir=loadmesh()
while not keydown(1)
renderworld
flip
wend

теперь картинка будет показываться все время, пока не нажата esc.

H@NON 07.10.2007 15:31

Re: 3D мир
 
Цитата:

LoadEntity ("Models\Map.b3d")
УЖс, так никто и не поправил. В Блитце таких команд нету. Есть LoadMesh, смотри в справке. И вообще в блитце одна из самых важных деталей это справка, так как там разъяснено все что ты хочешь сотворить.

Вот напишу тебе нобольшой шаблон, который ты будешь использовать созавая проект на блитце:

Код:

Graphics3d 800, 600, 32, 1  ; установка 3д режима
setbuffer BackBuffer()      ; устанавливаем текущий буффер - задний буффер
SeedRnd Millisecs()    ; генератор случайных чисел

camera = CreateCamera()    ; создание камеры - без нее, как без глаз

world = loadMesh("world.3ds")  ; загружаем модель и присваиваем ее переменной - world

while not Keyhit(1)  ; Начало главного цикла - условие работы: не нажатие на клавишу Esc, иначе выходим из цикла

renderWorld()  ; отрисовывааем 3д объекты мира
Flip 1  ; меняем буфферы местами - у нас с заднего на передний
Wend  ; конец цикла - переход на начало цикла

End  ; конец работы


Данил 07.10.2007 15:46

Re: 3D мир
 
А черт. ). Чет не заметил ошибки)

Чуть - чуть подправил шаблон H@NON'а .


[blitz]
Graphics3D 800, 600, 32, 1 ; установка 3д режима
SetBuffer BackBuffer() ; устанавливаем текущий буффер - задний буффер
SeedRnd MilliSecs() ; генератор случайных чисел


Global camera = CreateCamera() ; создание камеры - без нее, как без глаз
Global world = "Models\World.b3d" ; загружаем модель и присваиваем ее переменной - world
Global light = CreateLight ()
Global my# , mx#

While Not KeyHit(1) ; Начало главного цикла - условие работы: не нажатие на клавишу Esc, иначе выходим из цикла
control ()
mouselook ()
RenderWorld() ; отрисовывааем 3д объекты мира
Flip ; меняем буфферы местами - у нас с заднего на передний
Wend ; конец цикла - переход на начало цикла



Function control() ; Управление
If KeyDown(17) MoveEntity camera,0,0,.1
If KeyDown(31) MoveEntity camera,0,0,-.1
If KeyDown(30) MoveEntity camera,-.1,0,0
If KeyDown(32) MoveEntity camera,.1,0,0
End Function

Function mouselook() ; Обзор мышью
mx=MouseXSpeed()*0.10
my=MouseYSpeed()*0.10

MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
RotateEntity camera,EntityPitch(camera)+my,EntityYaw(camera)-mx,EntityRoll(camera)
End Function

End

[/blitz]


Часовой пояс GMT +4, время: 00:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot