forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Грузить модели по ходу игры (http://forum.boolean.name/showthread.php?t=5311)

AndruXa 15.12.2007 21:58

Грузить модели по ходу игры
 
Появилась вот у меня "больная идея" - грузить модели по ходу игры, тоесть реализовывать например смену оружия.:-D Знаю, вам смешно, а вопсчем-то почему-бы и нет. Я пробовал делать такое чудо с текстурами, все работает на ура, поди и с 3д прокатит. Сделать это я планирую так:
Global aa
Global Gun = loadmesh(aa)
Цикл:
if keyhit(2) then aa="mech1.b3d"
if keyhit(3) then aa="mech2.b3d"
Вроде правильно все, а не работает, ошибку выдает... эту, ну которая Memmory...

ABTOMAT 15.12.2007 22:24

Re: Грузить модели по ходу игры
 
Блин, ну вот крутанёшь колёсико, и на долю секунды тормоз. Крайне неприятно, сособенно когда много оружия надо прокрутить.

Данил 15.12.2007 22:28

Re: Грузить модели по ходу игры
 
Цитата:

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

эти "маленькие" задержки.. бррр...
зло...

лучше уж один раз подождать секунд 5-6 , потом нормально будет все, чем во время игры...

Bagration 15.12.2007 22:28

Re: Грузить модели по ходу игры
 
Цитата:

Сообщение от AndruXa
Появилась вот у меня "больная идея" - грузить модели по ходу игры, тоесть реализовывать например смену оружия.:-D Знаю, вам смешно, а вопсчем-то почему-бы и нет. Я пробовал делать такое чудо с текстурами, все работает на ура, поди и с 3д прокатит. Сделать это я планирую так:
Global aa
Global Gun = loadmesh(aa)
Цикл:
if keyhit(2) then aa="mech1.b3d"
if keyhit(3) then aa="mech2.b3d"
Вроде правильно все, а не работает, ошибку выдает... эту, ну которая Memmory...

Мдяя, ну и способ. :4to: Не легче ли грузить медиа по уровням. Я лично так делаю: создаю глобалку с названием обьекта, но не гружу его, а потом создаю функцию где происходит загрузка. И когда надо ее вызываю. Тока ВНИМАНИЕ! Вызывать загрузку надо ВНЕ главного цикла или что бы вызывалась в цикле но один раз, скажем после определенного флага.

ЛысыЙ_Чук-Иванчук 15.12.2007 22:34

Re: Грузить модели по ходу игры
 
Цитата:

Сообщение от AndruXa
Появилась вот у меня "больная идея" - грузить модели по ходу игры, тоесть реализовывать например смену оружия.:-D Знаю, вам смешно, а вопсчем-то почему-бы и нет. Я пробовал делать такое чудо с текстурами, все работает на ура, поди и с 3д прокатит. Сделать это я планирую так:
Global aa
Global Gun = loadmesh(aa)
Цикл:
if keyhit(2) then aa="mech1.b3d"
if keyhit(3) then aa="mech2.b3d"
Вроде правильно все, а не работает, ошибку выдает... эту, ну которая Memmory...

Global aa$= "Pyk_1.b3d"
Global Gun = loadmesh(aa)


If KeyHit(2) LoadPyk("Pyk_1.b3d")
If KeyHit(3) LoadPyk("Pyk_2.b3d")



Function LoadPyk(name_pyk$)
If name_pyk<> aa
FreeEntity Gun
Gun= LoadMesh(name_pyk)
aa= name_pyk
endif
end Function

:)

AndruXa 15.12.2007 22:35

Цитата:

Блин, ну вот крутанёшь колёсико, и на долю секунды тормоз. Крайне неприятно, сособенно когда много оружия надо прокрутить.
Не догнал, а у тебя че работает? если да, то почему у меня ошибку пишет?

Цитата:

Global aa$= "Pyk_1.b3d"
Global Gun = loadmesh(aa)


If KeyHit(2) LoadPyk("Pyk_1.b3d")
If KeyHit(3) LoadPyk("Pyk_2.b3d")



Function LoadPyk(name_pyk$)
If name_pyk<> aa
FreeEntity Gun
Gun= LoadMesh(name_pyk)
aa= name_pyk
endif
end Function
А вот ето спасибо, все вроде понял, а можешьеще объяснить почему как я написал не работает с моделями, а с текстурами все окей

jimon 15.12.2007 22:38

Re: Грузить модели по ходу игры
 
ну у меня в игре (в jAqua) зделана опциональная
динамическая подгрузка ресурсов, если ресурс вызывается
то он загружается, если не юзается - сам выгружается
тоесть реально в памяти висит 10% картинок

ничего особенного в етой системе не вижу
как же тогда в играх делается загрузка уровней ;)

ЛысыЙ_Чук-Иванчук 16.12.2007 00:53

Re: Грузить модели по ходу игры
 
2 Jimon- Думаю над этип иму пока рано дуать- главно чтобы удолять не забывал;)!

kortesfil 16.12.2007 08:51

Re: Грузить модели по ходу игры
 
Действительно зачем грузить модели по ходу игры, не понимаю.

johnk 16.12.2007 12:02

Re: Грузить модели по ходу игры
 
Идея, в принципе, не больная, но только не для такого случая. Но на блице подгрузку лучше не использовать.

H@NON 16.12.2007 12:13

Re: Грузить модели по ходу игры
 
А вот есть какой-нить способ использовать второй канал для подгрузки?, ну знаете наверное как в ГТА, пока чел перемещается по городу, то ресурсы параллельно грузяться не тормозя процесс игры. Может как-нить через сторонние длл реализуется и вообще это возможно сделать для блитца с его ДиректИксом 7?

ЗыЖ особо не ругайте, просто заинтересовал вопрос.

moka 16.12.2007 12:16

Re: Грузить модели по ходу игры
 
H@NON, это называеться грузить отдельным потоком. Хм, вроде были какие-то либы по этому поводу.

johnk 16.12.2007 12:31

Re: Грузить модели по ходу игры
 
Цитата:

Может как-нить через сторонние длл реализуется и вообще это возможно сделать для блитца с его ДиректИксом 7?
Тупо создаешь еще один поток. Вот подключить как такое блицу - не понятно. Написание либы, создающей поток, чтоб управление блицу еще и отдавалось - возможно, но не избежать многочисленных МАВов. Или у меня просто опыта мало :-[

HolyDel 16.12.2007 13:32

Re: Грузить модели по ходу игры
 
В вартиче юниты грузятся по мере надобности.
еслибы я сразу грузил, скажем 300 юнитов, 80% из которых даже в игре учавствовать не будут, то ето, думаю, вызвало бы массу негативных эммоций.
Кстати, юниты не выгружаются на следующую карту, поетому грузить уже меньше приходится.

avel 14.01.2008 23:07

Ответ: Грузить модели по ходу игры
 
Цитата:

Появилась вот у меня "больная идея" - грузить модели по ходу игры...
эээээээ... а нафиг? о_0
нет, если это уровень, или там, юниты, как у HolyDel'а то да - это разумно. но для смены оружия - ИМХО бред.


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

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