Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 14.01.2008, 23:21   #16
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Грузить модели по ходу игры

грузить модели по ходу нормальное дело.
в Блиц3Д нельзя грузить объект через отдельный поток(это не излечимо)

ЗЫ\ на опыте проверял, 60к грузяться и глазом не успеешь моргнуть. но тут дело не в моделях(на счет анимации невкурсе) а текстурах, при таком методе нада обязательно юзать ДДС, да и вообще его нада обязательно юзать!
(Offline)
 
Ответить с цитированием
Старый 14.01.2008, 23:48   #17
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Грузить модели по ходу игры

avel +1
Андрюха, на этом сильно не с экономиш !!
(Offline)
 
Ответить с цитированием
Старый 15.01.2008, 00:28   #18
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Грузить модели по ходу игры

ДДС - отстой, портит качество и слабо жмет пустоты..
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 03:22   #19
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Грузить модели по ходу игры

А чё такое ДДС
А как пишется тег ОФФТОПА на форуме ???
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 04:10   #20
Raiter
Гигант индустрии
 
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений
(для 92 пользователей)
Ответ: Грузить модели по ходу игры

А чё такое ДДС
.DDS - свободный к использованию графический формат. В основном заточен под DX. Под OpenGL юзать без специального загрузчика не выйдет. Формат поддерживает 1D,2D,3D, CubeMap текстуры, компрессию DXT, MipMap уровни.

А как пишется тег ОФФТОПА на форуме ???
Вот так: [ offtop] [ /offtop]. Только без пробелов
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 07:49   #21
avel
Бывалый
 
Аватар для avel
 
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений
(для 452 пользователей)
Ответ: Грузить модели по ходу игры

Raiter я с ддс форматом, вроде, знаком, но строчку
Формат поддерживает 1D,2D,3D
чего-то непонял... поясни.
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 08:45   #22
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: Грузить модели по ходу игры

Это была цитата. Тут имелось в виду уже дальнейшее разделение для задачи. 3Д - имелось в виду, что в качестве текстуры для модели, 2Д - рисунок, а 1Д - используется в шейдерах.
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 09:13   #23
jimon
 
Сообщений: n/a
Ответ: Грузить модели по ходу игры

Сам DDS НЕ МОЖЕТ влиять на качество картинки ВООБЩЕ, т.к. это формат хранения изображения в некотором формате. Звучит хитро, но на самом деле все просто - само изображение может быть в форматах RGB, RGBA, DXT1 и т.д., но "контейнер" в виде DDS для всех один.
По качеству может бить те же DXTn, а не DDS, но и JPG сжимает не без ухудшения картинки, т.к. тоже относится к методам сжатия с потерями. К тому же, декомпрессится DXTn быстрее JPG (хотя бы потому, что это делает сама видеокарта при семплинге), да и видео памяти занимает меньше (все потому же, что понимается видеокартой).
если руки кривые то все остальное читаем там же
http://www.gamedev.ru/code/forum/?id=16880
 
Ответить с цитированием
Старый 16.01.2008, 10:44   #24
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Грузить модели по ходу игры

текстура может быть одномерной, двумерной, трехмерной а такэе кубемапой.
народ, юзайте dds, его не зря придумали.
+ возможность нарисовать каждый уровень мипмапа, тоже очень полезно может быть.
+ экономится видеопамять.
+ вариант с одним битом на альфу очень хорош для всяких маск.

короче - сплошные плюсы, минус - у меня ну очень долго сохраняет фотошоп dds рисунок.
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 15:30   #25
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Грузить модели по ходу игры

Сообщение от HolyDel Посмотреть сообщение
минус - у меня ну очень долго сохраняет фотошоп dds рисунок.
Самый большой минус это размер, но от того что его размер больше к пример jpg в 3-8 раз, скорость загрузкий больше раз в 10-20.
(Offline)
 
Ответить с цитированием
Старый 16.01.2008, 23:43   #26
jimon
 
Сообщений: n/a
Ответ: Грузить модели по ходу игры

FDsagizi
загрузка быстрее ... потому что сразу заганяется в видеокарту
а так надо пережимать в тот же dxt
 
Ответить с цитированием
Старый 17.01.2008, 23:58   #27
Genius
Знающий
 
Аватар для Genius
 
Регистрация: 02.11.2007
Сообщений: 255
Написано 27 полезных сообщений
(для 43 пользователей)
Re: Грузить модели по ходу игры

Вот выкладываю свой код смены и т.д оружия!

Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Type Shot
Field alpha#,num
End Type 
;камера
cam=CreateCamera ()

;Пистолет МАКАРОВА
gun1=LoadAnimMesh("weapons\pm\model.b3d")
PositionEntity gun1,0,-10,0
ScaleEntity gun1,.5,.5,.5
RotateEntity gun1,-90,0,-180
LoadAnimSeq gun1, "weapons\pm\idle.b3d"
LoadAnimSeq gun1, "weapons\pm\shot.b3d"
LoadAnimSeq gun1, "weapons\pm\reload.b3d"
Animate gun1, 1,.3, 1
EntityParent gun1,cam
;Пистолет КОЛЬТ
gun2=LoadAnimMesh("weapons\colt\model.b3d")
PositionEntity gun2,0,-10,0
ScaleEntity gun2,.5,.5,.5
RotateEntity gun2,-90,0,-180
LoadAnimSeq gun2, "weapons\colt\idle.b3d"
LoadAnimSeq gun2, "weapons\colt\shot.b3d"
LoadAnimSeq gun2, "weapons\colt\reload.b3d"
Animate gun2, 1,.3, 1
EntityParent gun2,cam
;AK 47
gun3=LoadAnimMesh("weapons\ak74\model.b3d")
PositionEntity gun3,0,-10,0
ScaleEntity gun3,.5,.5,.5
RotateEntity gun3,-90,0,-180
LoadAnimSeq gun3, "weapons\ak74\idle.b3d"
LoadAnimSeq gun3, "weapons\ak74\shot.b3d"
LoadAnimSeq gun3, "weapons\ak74\reload.b3d"
Animate gun3, 1,.3, 1
HideEntity gun3
HideEntity gun3
HideEntity gun3
EntityParent gun3,cam
;Наличие оруий у игрока
gun1_pickup=1
gun2_pickup=1
gun3_pickup=1
;каоличество патронов у оружий
gun1_patron=42
gun2_patron=20
gun3_patron=96
;Патронов в обойме у оружий
gun1_magazin=12
gun2_magazin=8
gun3_magazin=30
;звуки
pistol_shot=LoadSound("shot.ogg")
reload=LoadSound("reload.ogg")
;необходимая переменная
relaod_delay_gun1=0
relaod_delay_gun2=0
relaod_delay_gun3=0
;ВЫбранное оружие
gun_select=1
While Not KeyHit(1)
MHIT=MouseHit(1)
RELOAD_KEY=KeyHit(19)
MDOWN=MouseDown(1)
;апдейт огонька
For s.shot =Each shot
s\alpha#=s\alpha#=-.001
EntityAlpha s\num,s\alpha#
If s\alpha#=<0 Then
FreeEntity s\num :Delete s
EndIf 
Next
;Востановление анимации дыхания!!!
If relaod_delay_gun1=0 And relaod_delay_gun2=0 And relaod_delay_gun3=0  Then player_dblxanie=player_dblxanie+1
If player_dblxanie=>200 Then player_dblxanie=1
If player_dblxanie=190 Then Animate gun1, 1,.3, 1
If player_dblxanie=190 Then Animate gun2, 1,.3, 1
If player_dblxanie=190 Then Animate gun3, 1,.3, 1
If relaod_delay_gun1>0 Then relaod_delay_gun1=relaod_delay_gun1-1
If relaod_delay_gun2>0 Then relaod_delay_gun2=relaod_delay_gun2-1
If relaod_delay_gun3>0 Then relaod_delay_gun3=relaod_delay_gun3-1
;АПДЕЙТ ПИСТОЛЕТА(GUN1)//////////////////////////////
;перезарядка пистолета
If gun_select=1 And gun1_patron>0 And gun1_magazin=0 And RELOAD_KEY=1 And gun1_pickup=1 Then
If gun1_patron>12 Then  gun1_magazin=12
If gun1_patron<12 Then
 gun1_magazin=gun1_patron
 gun1_patron=0
 EndIf
 PlaySound reload
 Animate gun1, 3,.65,3
relaod_delay_gun1=140
EndIf
;стрельба из пистолета
If gun_select=1 And MHIT=1 And gun1_magazin>0  And gun1_pickup=1 And relaod_delay_gun1=0  Then
If gun1_patron>0 Then gun1_patron=gun1_patron-1
gun1_magazin=gun1_magazin-1
PlaySound  pistol_shot
Animate gun1, 3,1, 2
;огонек у писотлета
s.shot = New shot
s\num=LoadSprite ("shot.jpg",1)
PositionEntity s\num,-12,-20,88
ScaleSprite  s\num,20,20
RotateSprite s\num,Rnd(360)
s\alpha#=.6
EndIf
;АПДЕЙТ ПИСТОЛЕТА(GUN1)//////////////////////////////
;АПДЕЙТ ПИСТОЛЕТА(GUN2)//////////////////////////////
;перезарядка пистолета
If gun_select=2 And gun2_patron>0 And gun2_magazin=0 And RELOAD_KEY=1 And gun2_pickup=1 Then
If gun2_patron>8 Then  gun2_magazin=8
If gun2_patron<8 Then
 gun2_magazin=gun2_patron
 gun2_patron=0
 EndIf
 PlaySound reload
 Animate gun2, 3,.65,3
relaod_delay_gun2=110
EndIf
;стрельба из пистолета
If gun_select=2 And MHIT=1 And gun2_magazin>0  And gun2_pickup=1 And relaod_delay_gun2=0  Then
If gun2_patron>0 Then gun2_patron=gun2_patron-1
gun2_magazin=gun2_magazin-1
PlaySound  pistol_shot
Animate gun2, 3,1, 2
;огонек у писотлета
s.shot = New shot
s\num=LoadSprite ("shot.jpg",1)
PositionEntity s\num,-12,-20,88
ScaleSprite  s\num,20,20
RotateSprite s\num,Rnd(360)
EntityParent s\num,cam
s\alpha#=.6
EndIf
;АПДЕЙТ ПИСТОЛЕТА(GUN2)//////////////////////////////
;АПДЕЙТ АВТОМАТА(GUN3)//////////////////////////////
;ZOOM(ПРИКОЛ)!!!!!
gun3_zoom=0
gun3_zoom=MouseDown(2)
If gun_select=3 And gun3_zoom=1 Then PositionEntity gun3,5.5,-.25,-11
If gun_select=3 And gun3_zoom=0 Then PositionEntity gun3,0,-10,0
;необходимо для звука(чтоб не зациклевался)
GUN3_LOOPSOUND=GUN3_LOOPSOUND+1
If GUN3_LOOPSOUND>8 Then GUN3_LOOPSOUND=1
;перезарядка автомата
If gun_select=3 And gun3_patron>0 And gun3_magazin=0 And RELOAD_KEY=1 And gun3_pickup=1 Then
If gun3_patron>30 Then  gun3_magazin=30
If gun3_patron<30 Then
 gun3_magazin=gun3_patron
 gun3_patron=0
 EndIf
 PlaySound reload
 Animate gun3, 3,.55,3
relaod_delay_gun3=190
EndIf
;стрельба из автомата
If gun_select=3 And MDOWN=1 And GUN3_LOOPSOUND=1 And  gun3_magazin>0  And gun3_pickup=1 And relaod_delay_gun3=0  Then
If gun3_patron>0 Then gun3_patron=gun3_patron-1
gun3_magazin=gun3_magazin-1
PlaySound  pistol_shot
Animate gun3, 3,1, 2
;огонек у автомата
s.shot = New shot
s\num=LoadSprite ("shot.jpg",1)
PositionEntity s\num,-7,-19,88
ScaleSprite  s\num,30,30
RotateSprite s\num,Rnd(360)
EntityParent s\num,cam
s\alpha#=.6
EndIf
;АПДЕЙТ АВТОМАТА(GUN3)//////////////////////////////
 

;Смена оружий
If gun_select=1  And gun1_pickup=1 Then
ShowEntity gun1
HideEntity gun2
HideEntity gun3
EndIf 
If gun_select=2And gun2_pickup=1 Then
ShowEntity gun2
HideEntity gun1
HideEntity gun3
EndIf 
If gun_select=3And gun3_pickup=1 Then
ShowEntity gun3
HideEntity gun1
HideEntity gun2
EndIf
If KeyHit(2)=1 Then gun_select=1
If KeyHit(3)=1 Then gun_select=2
If KeyHit(4)=1 Then gun_select=3

If KeyDown( 205 )=True Then TurnEntity cam,0,-1,0 
If KeyDown( 203 )=True Then TurnEntity cam,0,1,0 
If KeyDown( 208 )=True Then MoveEntity cam,0,0,-0.05 
If KeyDown( 200 )=True Then MoveEntity cam,0,0,0.05 
 

UpdateWorld
RenderWorld

;ТЕКСТ
If gun_select=1 Then  Text 10,500,"выбранное оружие: МАКАРОВ" 
If gun_select=1 Then
Text 10,530,"патронов:"+gun1_magazin+"/"+gun1_patron
EndIf
If gun_select=2 Then  Text 10,500,"выбранное оружие: КОЛЬТ" 
If gun_select=2 Then
Text 10,530,"патронов:"+gun2_magazin+"/"+gun2_patron
EndIf
If gun_select=3 Then  Text 10,500,"выбранное оружие: КАЛАШ" 
If gun_select=3 Then
Text 10,530,"патронов:"+gun3_magazin+"/"+gun3_patron
EndIf
Text 270,260,"Weapon module special for project  -  ЗОНА ОТЧУЖДЕНИЯ"
Flip 
Wend
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ищу 3D модели самолетов AVIZO 3D Моделирование 17 07.12.2012 15:22
Модели модели ёмаё Crystal 3D-программирование 6 31.08.2007 00:14
Ссылки на модели MiXaeL Полезные ссылки 0 06.06.2007 21:48


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com