Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [SDK] Capacity
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Borovos
Hello everybody,

I would like to list all know limitations to improve level design with fixed engine and fixed SDK (0.4, 0.6 and 0.7). I mean poly count, diversity of LOD, Grass, size of aimap, density of spawn and others.
Without confirmed data or access to tools/engine, I will not talk about values as in RoH project.

Object>Total Faces: 5.1 millions faces for CS Marsh
Object>Total References: around 7500 in CS marsh

Object>Total LOD Faces : 3.6 millions faces for CS Marsh
Object>Total LOD References: maximum 128 models by scene with 2048*2048 level_lods.dds, can be 75 per cent of Total References

Hom object: unknow limit, to use with low poly design

Giant level as in "South Zone project" (probably around 100 millions faces) is know to generate random errors in uvmap.

Light: unkown limit, <400 in vanilla levels

Sound Source: <40 sources in CS levels, unknow limit

Sound Env: unused since Soc builds, except occluder

Glow: unknow limit, <100 in vanilla levels

Spawn Element:
- around twenty npc in online radius create fps drop (Bar, Skadovsk), more npc kill the game (tested myself with 100 tushkano or a scene with tens monsters against tens npc) => define a limit for "base" design & good distance between each smart terrain
- less than 350 graph_point by level
- hundreds space_restrictor increase the risk to break the game too (remember L.U.R.K mod with all space_restrictor to replace Sound_Env)
- dynamics object: invisible for alife, bad physics without changes, create strong collision

Way point: unknown

Sector & portals: unknown limit, to use

Group: unknown

Static Particles: <10 per level in vanilla scene, it can create bad visual at long distance and static particles are always "on", prefer particles controlled by spawn with online/offline switch radius

Details Objects: 17 models by levels for SoC, 12 models for CS, 12 models for CoP

Aimap:
- 3 km² full plane (tested on SDK 0.4 by Bangalore, not tested on SDK 0.7), unknown nodes number
- reduce use of "1-Link" node and be careful with "smooth" to prevent strange collision between npc or monsters and the geometry
- be careful with "autolink" or command "Link all" in buildings with different stairs, it's common to see npc walk through the floor or walls

Wallmarks: 100 max wallmarks (reported by 2C.Lyrics on SDK 0.7)

Fog Volumes: unused

Snap List (max items selected): unknow limit, probably several thousands

----------------------------------------

SDK/gamedata/textures: limited to around 6000 .thm files

SDK/gamedata/textures/LOD: limited to around 3000 .dds files

SDK/rawdata>statics .object files: .object >10Mo create trouble in LE

SDK/rawdata>details: around 50 to 80 polygons by model

SDK/rawdata>LOD/trees & bushes: less than 6000 polygons by model

SDK/rawdata/textures: what is the quantity limit for .tga and .thm to maintain good fps in LE?

SDK/Rawdata/Object: less Go of rawdata/object maintain good fps in LE (use only files needed to create the scene), remove unused datas as others levels terrain & buildings


All comments will be helpful.
Regards
Diesel
Hello eurobot (шутка юмора). Ты пишешь про оптимизацию на чуждом тут языке. Многие из нас с трудом понимают, что такое оптимизация, не говоря уже про понимание языка.
Не обижайся на то, как я тебя назвал - это еще вежливо.
macron
andreyholkin, that's a shame! Go to school immediatelly! cool.gif
krovosnork
andreyholkin, всё вполне понятно, это просто ты тупой. И не обижайся на то, как я тебя назвал - это еще вежливо.

Borovos, you can find more info about ai-map here

Цитата
Общий максимальный размер карты в среднем включает в себя 3.000.000 - 3.500.000 млн. плотно заполненных аи-нодов, что равняется уровню примерно равному 1.3 х 1.3 км
1001v
Цитата(andreyholkin @ 11.02.2018, 14:52) *
Многие из нас с трудом понимают, что такое оптимизация, не говоря уже про понимание языка.
Не обижайся на то, как я тебя назвал - это еще вежливо.

Тут есть военные переводчики, а также тончайшие знатоки английской культуры, если что не понятно пиши
Diesel
Извиняюсь. Сексуальная неудовлетворённость - злой я. unsure.gif
Зато сколько про себя узнал (тупой я от травмы башки в юности).
autistic
Цитата(andreyholkin @ 11.02.2018, 18:01) *
Извиняюсь. Сексуальная неудовлетворённость - злой я.

У тебя есть целые сутки, пока топикбан не закончится. Не благодари.
Borovos
No problem. You can reply in your own language. I used translator to visit gameru since years. Don't take care about it.
The stalker community have no frontiers.

Edit: @admin, why can I not edit the first post?
autistic
Borovos, You have limitation period to edit your message up to 15 minutes since it was created. Unfortunately i don't have permissions to edit messages in this topic, so I can't help you anyway.
Borovos
Цитата(Орхетектор @ 11.02.2018, 18:09) *
Borovos, You have limitation period to edit your message up to 15 minutes since it was created. Unfortunately i don't have permissions to edit messages in this topic, so I can't help you anyway.


Ok, thanks. It doesn't matter.


Is there somebody which try to use several grass models? In CoP, I see 1024*512 level_details.dds for 12 objects.

Do you think we can obtain 1024*1024 or more as 2048*2048 level_details.dds file?
Or is it limitation with XrDo_Light?

A rookie on moddb plan to create around 70-80 grass and flowers models, I reply it's a bit too much.

Edit: I see this:
https://modders-wiki.ru/xrSDK_LE:Maximum_wa...evel_is_reached
But I can not find a link for this patch:
Цитата
Установите сторонний патч снимающий ограничение на количество wallmark'ов на уровне.

Он доступен для всех версий X-Ray SDK.
Trollz0r
Цитата(Borovos @ 11.02.2018, 12:01) *
Giant level as in "South Zone project" (probably around 100 millions faces) is know to generate random errors in uvmap.
Здесь нужно видеть UV-развёртку terrain'а этого гигантского уровня. Если развёртка имеет дефекты типа overlapping'а, то компилятор геометрии уровня (xrLC) будет очень долго и мучительно просчитывать лайтмап terrain'а, и выдаст плохой результат; или же вовсе не сможет его просчитать и рухнет без вывода конкретной ошибки.

Касательно ИИ-сетки. В xrAI существует ограничение на количество нод: если их больше 2^23, то компилятор рухнет с ошибкой "N < ((u32(1) << u32(MAX_NODE_BIT_COUNT)) - 2) Too many nodes! "
В LevelEditor нет ограничения по количеству нод, но есть ограничение по используемой памяти. То есть экспортировать 30 миллионов нод вряд ли получится.
Я уж не говорю о том, как тормозит редактор в режиме "AI Map": даже с 8 млн. нод работать уже затруднительно.


По общему количеству полигонов, я думаю, ограничения как такового нет, есть только лимит памяти для win32-приложения smile.gif
Но! Определённо существует некий лимит на плотность вертексов в объёме пространства. (Вряд ли он установлен осознанно, скорее всего это какой-то баг.) В одном из древних интервью оригинальные разрабы движка упоминали лимит 5000 вертексов на кубический метр. Мы в БОРЖЧе встретились с проблемой теней от невидимой геометрии: https://www.gameru.net/forum/index.php?s=&a...t&p=1618286
Здесь компилятор сгенерировал битый меш геометрии для просчёта теней, вытянув некоторые вертексы куда-то в сторону. На r2 мы их не видим, но они есть и отбрасывают тень smile.gif

Решение пока неизвестно. В качестве временной меры сменил тип геометри на LOD, но освещение для неё не ахти.


По количеству источников света есть интересная записка от Большакова: https://xray-engine.org/index.php?title=%D0...%BD%D0%B8%D1%8F
Вкратце: количество ИС вроде бы и не ограничено в разумных пределах, но на производительность влияет радиус ИС, а не только их количество и тип.
Borovos
[quote name='1001w' date='11.02.2018, 18:42' post='1632242']
Thanks, really. This is the feedback I'm looking for.

Great.
Молния в вакууме
Цитата(1001w @ 11.02.2018, 17:42) *
В LevelEditor нет ограничения по количеству нод, но есть ограничение по используемой памяти. То есть экспортировать 30 миллионов нод вряд ли получится.
Я уж не говорю о том, как тормозит редактор в режиме "AI Map": даже с 8 млн. нод работать уже затруднительно.

Вообще, ЛЕ при сохранении записывает индекс соседней ноды в трёх байтах, так что могут быть проблемы если нод больше 224 - 1. Но на практике почему-то ничего не заглючило у меня при 18 млн. нод.
Borovos
Ok for aimap. I understand the limit.

About polycount and light:
So, if there is a limit of "5000 вертексов на кубический метр", we can forget to create rich interiors with high poly object.
As example, create a simple wood box with nice texture and bump mapping is better than a high poly wood box with all details as lock or hinged cover.

About light, I can not understand this with the translator:
Цитата
все поверхности и обьекты, где не предполагается красивых теней (например крыши, или разваленные кирпичи) – обязаны помечаться для «вертексного» освещения – это главный, основной и (почти) единственный способ контроля количества лайт-мапов;

Молния в вакууме
Borovos, всё просто - там где не нужны лайтмапы нужно назначать шейдер def_shaders\def_vertex или аналогичный, чтобы использовалась упрощенная модель освещения.
krovosnork
Цитата(1001w @ 11.02.2018, 14:42) *
Цитата(Borovos @ 11.02.2018, 12:01)
Giant level as in "South Zone project" (probably around 100 millions faces) is know to generate random errors in uvmap.Здесь нужно видеть UV-развёртку terrain'а этого гигантского уровня. Если развёртка имеет дефекты типа overlapping'а, то компилятор геометрии уровня (xrLC) будет очень долго и мучительно просчитывать лайтмап terrain'а, и выдаст плохой результат; или же вовсе не сможет его просчитать и рухнет без вывода конкретной ошибки.

С разверткой всё нормально, специально проверял места с ошибками. Они проявляются случайно и на разных объектах, не только террейне. Похожую ошибку на другой локации удалось исправить, тогда развертка была слишком большого размера и вылазила за какой-то предел, после которого начинались баги.

P.S: Исходники локации лежат в свободном доступе, если кому-то интересно посмотреть и проверить ограничения
https://yadi.sk/d/A96YWDgK3Mw5Yk
Trollz0r
И где же военные переводчики, когда они так нужны sarcasm.gif
Borovos
Thanks Saas, I was not sure.

About LOD, I don't understand why GSC choose to use LOD for vehicles. Commonly, there is only few vehicles in levels, sometime a single one by models.
It's a waste of resources. Loose the ability to add more trees and bushes models and create diversity in vegetation for only two or three cars.

Except in garbage or graveyard, there is no interest. I did it one time, but I think I'll transform all my LOD vehicles to static object.
It's a quick way. What do you think about it?



Trollz0r
Цитата(Borovos @ 11.02.2018, 17:03) *
I don't understand why GSC choose to use LOD for vehicles
Это действительно улучшает производительность на компьютерах 2007 года.

Я думаю, что LOD'ами стоит делать модели с большим количеством полигонов, если эти модели находятся вне помещений (потому что static и LOD модели освещаются немного по-разному). Если же эти модели уникальны (используются только один раз на каждом уровне) и находятся внутри помещения, то LOD можно и не использовать.

Цитата(Borovos @ 11.02.2018, 16:24) *
So, if there is a limit of "5000 вертексов на кубический метр", we can forget to create rich interiors with high poly object.
Вовсе нет. Для начала нужно достичь этого лимита, то есть создать такое насыщенное окружение, в котором проявится этот баг/ограничение. А потом уже решать проблему, если она возникнет.
Молния в вакууме
Цитата(Borovos @ 11.02.2018, 19:03) *
About LOD, I don't understand why GSC choose to use LOD for vehicles.

Помоему вполне логично, в машинах достаточно много полигонов, на расстоянии они станут плоскими спрайтами и будут экономить количество полигонов в кадре.

Цитата(1001w @ 11.02.2018, 21:51) *
Это действительно улучшает производительность на компьютерах 2007 года.

Ну или если кто-нибудь решит на встроенной видяхе поиграть.
Trollz0r
Цитата(saas @ 11.02.2018, 20:03) *
на расстоянии они станут плоскими спрайтами и будут экономить количество полигонов в кадре
Пример: исходная модель имеет 15000 треугольников, а LOD сокращает их количество до 2 штук — ровно столько необходимо билборду, на который натянута текстура level_lods.dds
Borovos
Do you know what is the distance ingame to have this LOD with only two planes and not the full object?
Молния в вакууме
Borovos, на самом деле это зависит не от расстояния, а от занимаемой моделью площади на экране. Если интересно как именно это считается, то смотри исходники движка.

Требуемую площадь можно регулировать консольной командой r__geometry_lod.
Cossack-HD
LODs and effectiveness of r__geometry_lod depend on level size and complexity. Large, detailed levels have less LODs than smaller levels, which brings more problems with performance.
Compare r__geometry_lod 0.1 in Lost Alpha on Cordon (Escape) and Agroprom and check the FPS difference wink.gif
RayTwitty
Цитата(Borovos @ 11.02.2018, 14:01) *
Light: unkown limit, <400 in vanilla levels

In SoC (I don't know how it in CS/CoP) I have the bug with dynamic lighting which looks like this:


I think this is due to the radius or brightness of light source.

If you interesting, it is the gamedata and the save near place with bug (vanilla 1.0006 SoC). In the gamedata was changed campfire config, I increased the radius of idle light.

P.S. I tried to change the params of console r2_ls_* and increase shadow map, but it didn't help.
abramcumner
Цитата(RayTwitty @ 12.02.2018, 18:56) *
I have the bug with dynamic lighting which looks like this:

Мне кажется тебе во фрустум залетает какая-то хрень этажом ниже(может там еще один костер? smile.gif). Глюки начинаются, когда камеру опускаешь, а когда поднимаешь, глюки пропадают.
Можешь включить rs_stats и сделать два скрина: с глюками и без?
Borovos
[quote name='RayTwitty' date='12.02.2018, 19:56' post='1632332']

I push the idle range to "12" in CoC zone_campfire, and check the result in Bar, where walls are far from the light source.
The result is not good. It create a large & diffuse clear light which blink slowly on the walk, without your "polygon" effect.
It kills my eyes. Too psychedelic! With range at 8, the "blink" effect is still present, but sweetened, more natural.
I think you should use a low range with more light source by campfire. Did you try to put three or four light source around the original one, a little of the way?


About r__geometry_lod, I try 0.1 value in my graveyard, it looks as Borderland game design...
It should be fun to configure this parameter level by level. As example, in CS red forest or in bar, there is no long distance view, the view is always close by the geometry, so a low value can be good for better fps.
Or it can be useful for a mod with bad weather and permanent fog.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.