|
3D-программирование Вопросы, касающиеся программирования 3D мира |
06.10.2007, 18:03
|
#1
|
Оператор ЭВМ
Регистрация: 26.07.2007
Сообщений: 29
Написано 0 полезных сообщений (для 0 пользователей)
|
3D мир
Я сделал в 3d max уровень. Как мне его загрузить в bliz3D
|
(Offline)
|
|
06.10.2007, 18:29
|
#2
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: 3D мир
ужс...
LoadMesh ("Models\Map.b3d")
|
(Offline)
|
|
06.10.2007, 18:32
|
#3
|
Оператор ЭВМ
Регистрация: 20.02.2007
Сообщений: 37
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: 3D мир
Выход один - почитай форум) Я вот вообще ничего не спрашивал, учился сам. Ну если найдётся добрый прогер, который всё тебе распишет, то хорошо)
|
(Offline)
|
|
06.10.2007, 18:43
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
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.
|
(Offline)
|
|
07.10.2007, 15:31
|
#5
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
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 ; конец работы
|
(Offline)
|
|
07.10.2007, 15:46
|
#6
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
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]
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:32.
|