Известно, что компилятор геометрии в сталкере имеет ограничение по статической геометрии - это 1,5-1,7 млн вертексов. Далее заканчивается виртуальная память, отведенная компилятору. Проблему могла бы решить x64 версия компилятора, но видимо, нам ее в обозримом будущем не видать. Так или иначе, на досуге задался вопросом - нельзя ли объединять _уже_ скомпилированные локации? Ответ: можно. Дабы не быть голословным, вот парочка скринов (соединенная свалка и агропром): Качество хреновенькое, снимал на дефолтных конфигах ЗП, но суть должна быть ясна.
Если это кому-то интересно, можно будет выложить альфа-версию, кхм, программы-склейщика локаций.
scwosh
07.09.2012, 01:07
Цитата(K.D. @ 07.09.2012, 03:40)
Если это кому-то интересно,
Издеваешься??? Конечно, выкладывай!
Если всё гуд - тогда... даже как-то жалко будет Богдановы труды...
dezodor
07.09.2012, 01:16
my personal opinion based on several years of testing: big maps were never problem for xray (with a decent compiler pc), the only issue is the aimap. current xrai can not compile graph for aimap which is 70-80 mbyte or more (tests with i7, x64 win7, 12gb ram), which is probably enough for 2-3 small sized locations connected together (soc garbage, agro etc...), if all trees, bushes, and small props are also included to the aimap skip-list.
K.D.
07.09.2012, 01:26
dezodor, so, explain, please, how i can compile maps with more than 1,7 million _static_ vertices (not total, not mu). Lot of mappers will thank you scwosh, почему жалко его труды? Для соединения локаций из финалки тулза все равно не подойдет, ибо: а) невидимые стены вокруг локаций не дадут перейти с одной на другую б) аи-сетка на локациях будет разделена - слишком уж далеко друг от друга стоят ноды в) да еще много можно придумать Так что все равно надо править и перекомпилировать локации.
macron
07.09.2012, 01:41
Цитата(K.D. @ 07.09.2012, 02:26)
а) невидимые стены вокруг локаций не дадут перейти с одной на другую
Эту проблему возможно как-то еще можно будет решить методом "частичной компиляции", когда компилится только новый level.cform. В остальном, да, пока непонятно как это все склеится. Но фанаты бесшовной зоны уже потирают лапки в предвкушении.
K.D.
07.09.2012, 01:44
macron, ну, теоретически (теоретически) можно удалить cform-вертексы согласно материала таких стен (material/fake и material/death). Но это все-таки нездорово. Кстати, на кордоне, например, есть псевдо-панорамы леса, выполненные в виде кусков видимой геометрии. Это тоже проблема при объединении локаций финалки. Впрочем, это тоже можно как-то удалить, благо подобная геометрия организована в виде иерархичных огф-моделей. Тулза задумывалась как инструмент для объединения кусков одной локации. Скажем, сделал маппер локу на пять мильонов вертексов, порезал ее на куски, скомпилировал их отдельно и объединил. Утрирую, конечно, но суть примерно та же)
D1mon
07.09.2012, 06:07
K.D., аи сетка тоже соединяется этой прогой? Или пока только геометрия? а, видимо соединяется... Ну дак перекомпилить локацию, чуть подправив нужные края для соединения - не проблема... И теперь вопрос - сколько уровней потянет сама игра?
Veresk
07.09.2012, 07:26
Цитата(scwosh @ 07.09.2012, 02:07)
Если всё гуд - тогда... даже как-то жалко будет Богдановы труды...
вы несовсем правы, можно даже сказать сильно неправы. Склейка локаций это хорошо, но ... геометрию тоже надо подгонять. Именно в подгонке геометрии (и текстуре террейна) основной труд. А на компил богдановской корсвалки у меня ушло всего ~6 часов.
Цитата(macron @ 07.09.2012, 02:41)
Но фанаты бесшовной зоны уже потирают лапки в предвкушении.
вы думаете?
jocker_27
07.09.2012, 10:55
Тогда про оффлайн аи можно забыть я так понимаю? Но идея вообще супер. Выкладывай прогу)
БогДан
07.09.2012, 11:23
По идее - это может упростить "заселение" уровня. Но подгонять геометрию одну к другой все-равно придется в 3д редакторе.
MgVolkolak
07.09.2012, 11:50
Цитата(jocker_27 @ 07.09.2012, 15:55)
Тогда про оффлайн аи можно забыть я так понимаю?
Ну только если довести все скрипты симуляции жизни до ума. Пару лет назад играя с расширенным алайфом на локации, даже на чистой игре заметил что количество вылетов значительно увеличивается при дистанции онлайн алайфа 500 метров (вместо 150 оригинальных).
scwosh
07.09.2012, 14:44
Цитата(Veresk @ 07.09.2012, 10:26)
ушло всего ~6 часов.
Это на хае что ли? Маловато что-то... Как так?
БогДан
07.09.2012, 15:20
Там симстема - ракета
dPlayer
07.09.2012, 15:22
Цитата
Как так?
Да сервак они юзают. Толи свой, толи втихушку чьей-то компании. А тем временем какой-нибудь сайт тормозит и не грузится
K.D.
07.09.2012, 15:24
Как-то всех не туда понесло. Речь не о "трудностях" соединения локаций финалки, а о том, что теперь можно делать локации, не задумываясь об ограничениях компилятора геометрии. Вот D1mon правильно вопрос обозначил - можно будет узнать, каково ограничение самой игры на размер уровня.
scwosh
07.09.2012, 15:47
Цитата(K.D. @ 07.09.2012, 18:24)
каково ограничение самой игры на размер уровня
Но твои то собственные предположения на этот счёт какие?
БогДан
07.09.2012, 15:54
K.D., попробуй методом тыка. Практика всегда лучше теоретики. Присоедени 3,4. А дальше как карта ляжет.
БогДан
07.09.2012, 16:35
Цитата(dPlayer @ 07.09.2012, 15:22)
Цитата
Как так?
Да сервак они юзают. Толи свой, толи втихушку чьей-то компании. А тем временем какой-нибудь сайт тормозит и не грузится
Помните, Google, в одно время висел?
K.D.
07.09.2012, 16:44
scwosh, я считаю - пока оперативка не кончится, в остальном ограничений нет. БогДан, сначала надо допилить утиль, а потом уже тратить время на подобное)
Вот, играйтесь. Временно отключена склейка карты дитейлов и аи-сетки. Все остальные компоненты локаций обрабатываются. Использование: 1) поправить путь до распакованной геймдаты в fsmerger.ltx 2) поправить батник и запустить его. примерный текст батника: location_merger -parent l02_garbage -child l03_agroprom -x -675.722 -y 1 -z -114 parent, child - объединяемые локации x, y, z - смещение центра ббокса второй локации относительно центра ббокса первой. Ну или проще, смещение координат вертексов локации. Введено как костыль для тестирования, правильно подготовленная в майке геометрия не нуждается в задании смещения.
kiperenok
07.09.2012, 16:50
Можно подогнать в 3дс максе террайны локаций, убрать лишнее, затем каждую локу скомпилить отдельно и уже потом этой прогой склеить !
RedMagic
07.09.2012, 17:04
Не понимаю что вы всё говорите про склейку... Намного проще просто соединить локации чтобы вдали было видно её, или вообще не видно, а для переходы оставить как есть. В таком случае можно не морочится над склейкой, и переходы между локациями будут мгновенными (ну почти).
Зато, я так думаю, можно создать свою "полностью безшовную зону". Если данная технология окажется стабильной и приемлемой - можно потом сгрупироватся, создать карту зоны, потом поделить её на квадраты (для удобства) и пусть каждый делает свой квадрат, а аи сетка... удалить её вообще и сделать карту для МП, попутно оптимизировав сетевой трафик и сделать хотя бы 64/64 игрока. Ех, мечты, что то понесло меня.
jocker_27
07.09.2012, 17:18
Цитата(STALKER--2011 @ 07.09.2012, 17:04)
Не понимаю что вы всё говорите про склейку... Намного проще просто соединить локации чтобы вдали было видно её, или вообще не видно, а для переходы оставить как есть. В таком случае можно не морочится над склейкой, и переходы между локациями будут мгновенными (ну почти).
Зато, я так думаю, можно создать свою "полностью безшовную зону". Если данная технология окажется стабильной и приемлемой - можно потом сгрупироватся, создать карту зоны, потом поделить её на квадраты (для удобства) и пусть каждый делает свой квадрат, а аи сетка... удалить её вообще и сделать карту для МП, попутно оптимизировав сетевой трафик и сделать хотя бы 64/64 игрока. Ех, мечты, что то понесло меня.
А зачем АИ сетку удалять? Поставить гулаги и зашибись! Можно ммофпс делать.
kiperenok
07.09.2012, 17:21
K.D. а ФПС сильно проседает ?
hi_flyer
08.09.2012, 20:49
Цитата(kiperenok @ 08.09.2012, 00:21)
K.D. а ФПС сильно проседает ?
Да по идее не должно (сам делал карту из билдовских кордона, свалки, дарквалея) фпс такой же что и в обычной игре. Кстати, кто нибуть смог уже склеить что нибуть?
Билдоман
08.09.2012, 20:54
А долго это дело грузится?
K.D.
08.09.2012, 21:14
Билдоман, лично я тестировал в режиме загрузки одной карты без скриптов, аи и прочей ерунды. Тут ничего сказать нельзя. Грузиться, конечно, будет чуть подольше исходных локаций - читается больше буферов геометрии.
Билдоман
08.09.2012, 22:29
Цитата(K.D. @ 08.09.2012, 22:14)
аи
по поводу AI и детейлов: когда будет активно? Можешь завтра новую версию дать? PS: Теперь этот двиг (даже начала 2005 года) может щеголять бесшовностью... когда-то об этом могли только мечтать...
K.D.
08.09.2012, 22:55
Билдоман, завтра? Я эти опции отключил не от злодейства, а потому что склейка аи-сетки и карты дитейлов глючат Как починю, так и выложу.
Vincent Vega
09.09.2012, 09:18
Блин я представил зону, даже склеенные финальные локации будут представлять огромный мир! Прикольно, квест берешь найти что-нибудь в Припяти и пошел с кордона в дальний путь..
Rolan96
09.09.2012, 09:37
OMG. Если на локациях грамотно расставить сектора и порталы, то будет вам счастье. То что делает с ними компилятор, если изначально их не ставить, не совсем то, что нужно. Тут вручную все расставлять надо. __________________ По сути, если прикинуть по карте в PDA, то расстояние между локациями довольно-таки большое, его тоже в планах смоделировать?
Цитата(scwosh @ 07.09.2012, 02:07)
Склейка локаций это хорошо, но ... геометрию тоже надо подгонять. Именно в подгонке геометрии (и текстуре террейна) основной труд.
В том-то и дело, что это займёт очень много времени и проект может перекочевать на полку. K.D., скажите на чём написана ваша программа?
ziStam
09.09.2012, 10:11
K.D., А сектора с порталами, хомами,саунд оклюдерми и носанами эта прога тоже соединяет?
Билдоман
09.09.2012, 10:40
Цитата(K.D. @ 08.09.2012, 23:55)
Я эти опции отключил не от злодейства
И что там за баг на стадии объединения level.cform?
Trollz0r
09.09.2012, 11:03
Цитата(Rolan96 @ 09.09.2012, 09:37)
K.D., скажите на чём написана ваша программа?
На вижуал бейсике
K.D.
09.09.2012, 14:23
Rolan96, какой проект? я пишу программу, а объединение локаций - не моя забота. Билдоман, а, забыл сказать. В level.ltx родительской локации обязательно должна быть секция [level_map] с параметром texture. RedPython, ziStam, конечно. Если не соединить сектора с порталами, просто ничего не будет работать. Движок видимую геометрию от дефолтных секторов грузит.
autistic
09.09.2012, 16:03
Цитата(RedPython @ 09.09.2012, 12:03)
На вижуал бейсике
на vb6 очень много чего написано было в свое время
Билдоман
09.09.2012, 17:20
Забавно в 2205 летать по трём объединённым локам))
Билдоман
09.09.2012, 17:45
Есть проблема с glow-текстурами. Они иногда путаются (используется другая). Исправимо?
K.D.
09.09.2012, 17:59
Билдоман, ы, точно, индекс текстуры не меняется. Поправлю.
Скиф
09.09.2012, 18:25
Билдоман, запили видео, интересно будет глянуть.
Билдоман
09.09.2012, 18:47
Цитата(Скиф @ 09.09.2012, 19:25)
запили видео
Там уныло, я их не подгонял. =( Сейчас вот с Агропрома скринов накидаю))
Красот не скринил, скринил сам факт объединения и тот самый баг
hi_flyer
09.09.2012, 20:07
Билдоман, Ну а как насчёт максимальной выносливости движка? Сколько карт тянет одновременно ?
Билдоман
09.09.2012, 20:15
Цитата(hi_flyer @ 09.09.2012, 21:07)
Сколько карт тянет одновременно ?
Так ещё и не проверил, но скорее всего он сможет если не все, то половину карт ТЧ точно. (Хотя сам надеюсь на то, что и все карты трилогии влезут)))
RayTwitty
09.09.2012, 20:18
Попробуйте ЧАЭС1 и ЧАЭС2 соединить из ТЧ. Как встанут интересно.
hi_flyer
09.09.2012, 20:35
Билдоман, Ох незнаю. Вроде как вся геометрия сразу загружается в оперативу, то оперативы этой надо будет огого.
Modera
09.09.2012, 20:55
Только сейчас заметил, на текстуре ЧМЭ3 написано ЧМО3?
hi_flyer
09.09.2012, 21:26
Потестил немного на 2205. В целом полёт нормальный: кордон свалка агро подземка агро бар дарквалей милитари, работали в одной карте вполне стабильно. На всякий поставил размер видеобуфера 4096. K.D большой респект! Кстати оперативы жрёт стандартно на уровне ~700 mb
Билдоман
09.09.2012, 21:29
Цитата(hi_flyer @ 09.09.2012, 22:26)
Кстати оперативы жрёт стандартно на уровне ~700 mb
Так я и думал, рентген локи всегда умел резать.
Цитата(hi_flyer @ 09.09.2012, 22:26)
K.D большой респект!
Респектище!
K.D.
09.09.2012, 21:54
Цитата(hi_flyer @ 09.09.2012, 22:26)
Кстати оперативы жрёт стандартно на уровне ~700 mb
А если обычный кордон запустить? В предыдущем посте ты правильно предположил - вся геометрия сразу грузится в память. Потребление оперативки _должно_ быть больше, никакой подгрузки в сталкере нет.
RedMagic
09.09.2012, 21:58
Цитата(K.D. @ 09.09.2012, 21:54)
Цитата(hi_flyer @ 09.09.2012, 22:26)
Кстати оперативы жрёт стандартно на уровне ~700 mb
А если обычный кордон запустить? В предыдущем посте ты правильно предположил - вся геометрия сразу грузится в память. Потребление оперативки _должно_ быть больше, никакой подгрузки в сталкере нет.
Но вроде есть во первых - упрощение геометрической модели на низкополигональную, и обрезка лишней геометрии в определённом радиусе. PS: Может быть неверно т.к. я все технические тонкости не знаю.
hi_flyer
09.09.2012, 22:07
K.D., В сравнении с обычным кордоном потребление оперативы увеличилось на ~150 мб. Думаю двиг без проблем потянет все локи
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.