22 Сентября 2024, 14:39:31
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > Дозагрузка (динамическая подгрузка) и переключение сцен.
Дозагрузка (динамическая подгрузка) и переключение сцен.
(Прочитано 10595 раз)
  [1]
Печать
mef | * | Новичок | Сообщений: 4 | « 10 Ноября 2008, 23:02:30 »
Дозагрузка (динамическая подгрузка) и переключение сцен. |
0
Здравствуйте, помогите пожалуйста. Возник такой вопрос - есть значит дом, в котором много комнат, в каждой комнате свой интерьер и прочее. Сцена начинается например на первом эиаже в холе и ходим по дому. Комнтаы (интерьеры) у нас в виде отдельных сценок есть. Нужно чтобы в начле загружалась лишь первая сценка (холл на первом этаже), а дальше подошли например к двери кухни (она закрыта) нажали кнопку и идет загрузка кухни (одна сцена переходит в другую). Что то вроде ГТА (подошли к дому, нажали кнопку и хоп, пошла загрузка интерьера дома).

Почему собственно возник вопрос. Потому что предпологается размещение этого дома в интернете (через ВЕБ-ПАБЛИШ в квесте). Так вот, естественно, будет очень неудобно, если пользователь будет сидеть и ждать пока загрузится весь дом. А так, загрузился холл например, вот он по нему ходит, подошел к первой двери, нажал - пошла загрузка этой комнаты и т.д. (каждая комната весит метров 10-12 или даже меньше) ждать нужно будет не очень долго естественно, а весь дом весит метров 200-300 (в нем очень много комнат), ждать пока загрузятся все 200 метров никто не станет...
Viik | **** | Старожил | Сообщений: 302 | «Ответ #1 11 Ноября 2008, 09:57:43 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
1
http://quest.ovos.at/browse/detail/18
Вот лоадер который позволяет делать динамическу загрузку и удаление групп. В конкретно таком исполнение в вебе работать не будет, так как сканирует директории, можно переделать под загрузку конкретных файлов.
KBECT0MAH | ***** | Модератор | Старожил | Сообщений: 434 | «Ответ #2 11 Ноября 2008, 15:53:30 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
2
Есть прекрасный пример динамической подгрузки который лежит:
[локальный диск]..\Quest3D\Examples\Advanced\Dynamic lua loading
.
Erath | ** | Пользователь | Сообщений: 99 | «Ответ #3 23 Ноября 2008, 14:13:02 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
3
А можно ли через LUA подгружать именно объекты, модели в формате .х, к примеру, а не сцены? Как тогда будет выглядеть код? В туториалах че-т не нашел такого.
mef | * | Новичок | Сообщений: 4 | «Ответ #4 25 Ноября 2008, 01:37:35 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
4
Спасибо за подсказку, покопаюсь в примерах. если что выложу сюда образец или вопросы, если они будут (а то что будут - уверен на все 100) ))))))))
VeT | * | Новичок | Сообщений: 10 | «Ответ #5 19 Декабря 2008, 17:33:01 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
5
[локальный диск]..\Quest3D\Examples\Advanced\Dynamic lua loading

пашет нормально, с ихнего сайта грузит норм.. осталось перенастроить, чтоб грузило нужный левел на компе Улыбающийся
Erath | ** | Пользователь | Сообщений: 99 | «Ответ #6 20 Декабря 2008, 18:43:05 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
6
Отвечу на свой же вопрос. Я решил его так: используя как основу Weather System заменил сцену на ярлык от 3D Render'a в своей сцене, находящейся в другом .cgr-файле и при помощи Lua-скрипта содержания
Код:
-- CallChannel function is called when channel is called
function CallChannel()
q.RemoveChannelGroup("world.cgr", "World", instance)
q.LoadChannelGroup("world.cgr", "World", instance)

end

-- GetValue function is called when this channels is used as Value
function GetValue()
return -1
end
загружаю его в проект по нажатии кнопки. Так же можно сделать включение загрузки и от какого-либо другого фактора, например от позиции, взаимодействия с обхектом и т.д.
Смысл в том, что в данном случае сцена загружается целиком, все объекты должны быть подключены к рендеру. Источники света можно не использовать и не нужна камера, так все это есть в Weather System.
Прикрепляю скриншот что б было понятней.

* Screenshot.jpg (315.47 Кб, 1280x800 - просмотрено 1758 раз.)
« Последнее редактирование: 20 Декабря 2008, 18:46:57 от Erath »
Denil-Tornado | **** | Старожил | Сообщений: 313 | «Ответ #7 04 Февраля 2009, 23:31:08 »
Re: Дозагрузка (динамическая подгрузка) и переключение сцен. |
7
Ну допустим, бегаю по сцене ну назовём её "x" а когда перехожу на другую сцену "y", то y подгружается а та страя сцена выгружается?
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > Дозагрузка (динамическая подгрузка) и переключение сцен.
Перейти в: