![]() |
Может не туда я написал, ну если что то удалите.
Имеется ланшафт (БАЛЬШОЙ ЛАНШАФТ в 3ds). Я его разбил на куски и хОчу зделать подгрузку. Представте гонки, но не колцевые, а по прямой. Я предпологаю, что мона использовать CameraRange и туман. Но меня волнует др. если загружать всё карту сразу то ето долго и слишком нагрузит систему. Я прав? Так как мона осуществить последовательную подгрузку? 8) |
Грузи 9 кусков (3х3)
Игрок в среднем видимость на 0.9 размера куска Отслеживай координаты и по пересечении игроком границы, задние 3 куска удаляй, впереди три куска загружай, и смещая все куски и игрока на исходные, чтобы центральный кусок был в точке 0.0.0 |
Значит ты предлогаеш мониторить локальные координаты героя по отношению к центру куска карты. Попробую. А есть ещё какие варианты? 8)
|
Если какой вариант просчитать скорость загруски!! Ну может какая зависимость или ещё что нибуть?
|
Поправьте меня если я ошибусь, но все что касаемо 3Д моделей и текстур при создании оказывается в оперативке видеокарты (в случае если конечно там места хватает), поэтому это в основном нагрузит видеокарту...
ну а выход из положения - только динамическая загрузка... теперь вопрос как ее оптимизировать... исходя из того, что блиц юзает DirectX, то думаю надо будет переделать модели в формат *.x (текстуры наверное тоже в tga перегнать надо будет), чем попытаться избежать дополнительных перекодировок модели при загрузке (это просто идея, надо протестить на время)... есть вариант подгружать ресурсы постепенно... допустим незадолго как чел доберется до конца куска начать подгружать текстуры и с каждым проходом цикла грузить новую текстуру... так-же с моделями... тем самым избежать тотальной кратковременной перегрузки системы... (ну ессно предусмотреть чтоб если не успело все догрузиться а чел уже доехал до точки видимости, то насильно остановить гаму и все догрузить) 2 tormoz ИМХО с перемещением может гемор получиться... ИМХО просто расставить модели и подгружать их поочереди... а если перепозиционирование делать, то это надо делать перепозиционирование всего мира (он-же наверное не один там гонять будет) + все флаги которые отмеряют кто впереди а кто позади едет... :) |
Я это все давно уже сделал.
Время подгрузки с тайлами 200х200 м (город) на атлон 1900 + 1 сек Вся эта фигня еще и с сервером работает :) Примерно как это выглядит в коде: Код:
Function UpdateLevel() Он на 1-2% медленней рисуется чем 3дс, но зато внешний вид намного лучше + масса возможностей в плане графики (поддержка интересных материалов в максе) |
Чёт я в коде не могу разобратся. :(
|
Можно просто побить на куски и грузить фсё сразу, а блитз3Д сам сортирует видимые объекты, а невидимые отсеивает
|
Вложений: 2
Короче. Я вычитал в одной умной книжке что мона зделать контрольные точки(привязанные к герою). И если координаты контр.точки > или = координате куска карты, то загрузить этот кусок. И так прописать для каждой контр.точки. Создать массив с и хранить там все роординаты, всех кусков. Или мона зделать название куска карты соответствует своей координате. это облегчит поиск. я вот тут набрасал картинку простую.
SBJoker: Я бы грузил так, но это может занять много времени, и зачеи грузить то что может не понадобится. tormoz: пРИ всем моём уважениии к тебе. Хотел бы предложить научится оставлять пояснения. Я например нихрена не понял из того что ты написал. Я есть люди которые забретут на эту тему и свалят сразу как увидят такую кучу кода. ps: без обид! Верхний ряд точек проверять если >= при соответствующем Х то грузить Нижний ряд если <= при соответствующем Х то грузить и тд. тп. |
Нет у меня времени полдня сидеть объяснять.
Скопировал просто из рабочего инклюда. Захочешь сделать - разберешся. Код оч простой. (ты еще сложного наверно не видел) |
Код:
If EntityX(HeroModel)>110 если игрок ушел вправо больше чем 110 то запускаеЦЦа posXInc() Код:
Function posXInc() имена уровней по такому принципу: 04_06.b3d то есть доступно 10 000 кусков мир 20х20 км если нужно больше - просто перейти к другой папке :) |
Часовой пояс GMT +4, время: 06:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot