Гость
Обновленые темы Популярные темы Активные пользователи
Fugas Team Потерянная судьба 21.08.2019 в 14:57 от Бармен OGSR Mod 20.08.2019 в 22:18 от Бармен Взлом Public Transport Simulator 1.34.1 20.08.2019 в 17:00 от Xemordio Взлом Last Day on Earth 1.14 20.08.2019 в 16:57 от Xemordio Взлом Shadow Fight 2 v 2.1.0 20.08.2019 в 16:55 от Xemordio Взлом Stardew Valley 1.33 20.08.2019 в 16:54 от Xemordio Взлом Flight Pilot Simulator 3D v 2.1.11 20.08.2019 в 16:52 от Xemordio Взлом Soul Knight 2.2.6 20.08.2019 в 16:51 от Xemordio Взлом Avakin Life 1.033.02 20.08.2019 в 16:50 от Xemordio Взлом Motor Depot 1.13 20.08.2019 в 16:49 от Xemordio

  • Страница 1 из 1
  • 1
Модератор форума: Бармен  
Форум » Игротека » S.T.A.L.K.E.R. » Модостроение сталкер » Набор ускоренных компиляторов для ЧН-ЗП СДК
Набор ускоренных компиляторов для ЧН-ЗП СДК
Xemordio Offline Дата: Среда, 05.06.2019, 09:05 | Сообщение # 1
Администратор
Звание: Новобранец [?]
Сообщений: 3722
Набор ускоренных компиляторов для ЧН-ЗП СДК.

[grayb]Скачать через ЯндексДиск[/grayb]

v2.0
добавлено описание конвертирования готовой карты под тч
добавлено описание частичной перекомпиляции
пофиксен незапуск на системах с неустановленным Visual C++ 2008
добавлен переключатель обходить/необходить инвалидные фейсы

v1.0
обход инвалидов (by drvoodoo-guru)
возможность компилить по сети как для xrlc, так и для xrdo_light
возможность установки как в ЗП СДК, так и в ЧН СДК
добавлен параметр -nosmg для фикса глюков с тенями (by FL!NT)
основан на самом быстром ЗП-компиляторе

ОБЩИЕ ИЗМЕНЕНИЯ

В компиляторах новой версии улучшена поддержка многопоточной работы на многоядерных процессорах, и они используют до 4гб памяти (для сравнения: компиляторы ЧН хоть и поддерживали 4 ядра, но в них еще не была реализована адресация памяти, а в ТЧ и вовсе использовался только один поток).

Скорость компиляции при полной нагрузке, соответственно, может вырасти до двух раз по сравнению с ЧН.

Также стоит заметить, что именно невозможность адресации компилятором более, чем 2гб RAM, была причиной ряда ограничений, с которыми сталкивались разработчики модов:

на максимальный размер ai-сетки (и, следовательно, размер играбельной площади уровня)

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

Разумеется, это не означает, что стоит пробовать делать уровни в 5х5км или 20 миллионов полигонов, но ситуаций, когда движок может работать с уровнем, а компилятор - не в состоянии его собрать из-за ошибок переполнения памяти, - происходить уже не должно.

Пример запуска: xrLC2010_single.cmd имя_карты (или вписать имя_карты в батник вместо %1)

РЕКОМЕНДАЦИИ НЕПОСРЕДСТВЕННО ПО КОМПИЛЯЦИИ

Изначально рекомендуется запустить xrLC_switcher.cmd и выбрать вариант НЕ обходящий инвалидные фейсы.

Потом пытаться компилить карту. Если компилятор вылетит с сообщением в логе об инвалидных фейсах - запустить Level Editor, открыть там эту карту,

затем в меню "SCENE" выбрать "Compile"- "Import Error List" и загрузить полученный после неудачной компиляции build_*.err

После этого на карте отобразятся "самые глючные" места, из-за которых вылетает компилятор. По возможности постарайтесь их исправить,

снова пребилдить проект и снова пытаться компилировать. Если компилятор все равно вылетает с сообщением в логе об инвалидных фейсах,

то тогда уже в xrLC_switcher.cmd выбирайте вариант обходящий инвалидные фейсы, и компилируйте снова. Этот этап точно будет пройден,

но вероятность последующих вылетов с сообщениями о нехватке памяти и т.п. возрастет.

Если компилятор вдруг вылетает, всегда смотрите logs\xrlc_Администратор.log, там может быть подсказка из-за чего или на какой стадии.

ЧАСТИЧНАЯ ПЕРЕКОМПИЛЯЦИЯ

Если вы скомпилировали уровень, но необходимо внести мелкие правки, не связанные с графикой,

например где-то заменить материал у объекта или добавить невидимые фейк-плоскости,

то это можно сделать без повторной полной перекомпиляции карты. Для этого:

Не забываем сохранить где-нибудь свой первоначально скомпилированный уровень,

В Level Editorе вносим необходимые мелкие правки, заново пребилдим проект, затем запускаем компиляцию.

Проходим все стадии *.cform

Прерываем (закрываем компилятор) на стадии build UV mapping или позже.

На всякий случай рекомендуется еще нажать Ctrl-Alt-Del и убедиться, что xrlc точно выгружен из памяти.

Готовый новый level.cform подставляем в свой уровень.

ОПИСАНИЕ НЕКОТОРЫХ КЛЮЧЕЙ КОМПИЛЯТОРА

-f имякарты (обязательный параметр при компиляции)

-? (минихелп)

-h (минихелп)

-o (меню доп. опций - работает в паке тч-компилей, О реальной пользе меню см. ридми к паку тч-компилей)

-gi (global illunination - обсирает картинку на dx8 и сильно тормозит компиляцию)

-nosun (disable sun-lighting)

-noise (enable noise)

-premul (вроде premulated alpha - возможно что-то связанное с альфа-каналом текстур лайтмапов)

-keep_temp_files (не удалять временные файлы - для зп-компилей)

-net (связана с компиляцией по сети - для зп-компилей xrlc и xrdo_light)

-nosmg (возможно, отключение smooth groups - этот параметр необходим при использовании чн/зп компилей, а то будут глюки с тенями/ломаными плоскостями)

-nolog (не создавать файл лога)

-silent (не выводить таблички при завершении работы - для зп-компилей xrlc и xrdo_light при компиляции нескольких карт подряд, например)

СЕТЕВАЯ КОМПИЛЯЦИЯ

xrLC2010_net.cmd и xrDO2010_net.cmd позволяют собирать одну карту сразу на нескольких компах, объединенных в единую локальную сеть.

Важное нововведение - возможность компиляции уровня на нескольких компьютерах одновременно.

Выполняется она с помощью xrLC и дополнительных приложений. Один компьютер выполняет роль "координатора", остальные, "агенты", работают с определенными им задачами.

Для простоты работы к SDK приложены уже настроенные исполняемые файлы, с которыми достаточно лишь указать имя уровня и IP координирующего компьютера.

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

Разумеется, со времен xrLC ТЧ, у которого уходило до недели чистого времени на сборку крупного уровня в высоком качестве, скорость работы компилятора возросла до четырех раз, но время компиляции всё равно не назовешь быстрым.

1. На все компы в сети копируем одинаковый СДК.

2. Выбираем для себя какой комп будет главным (координатором), а все остальные будут агентами.

3. Для агента предварительно необходимо указать айпи координатора:

Для этого на каждом агенте: запускаем xrLC2010_net_settings.cmd и вписываем coordinator_ip= , потом запускаем xrLC2010_net_agent.cmd

4. Убеждаемся, что все агенты запущены.

5. На главном компе (координаторе) запускаем xrLC2010_net_coordinator.cmd, разворачиваем его из трея.

В его списке должны появиться все агенты.

6. На главном компе (координаторе) запускаем: xrLC2010_net.cmd имя_карты и ждем завершения.

7. Для компиляции травы на главном компе (координаторе) запускаем: xrDO2010_net.cmd имя_карты

Необходимо подчеркнуть, что при забитом канале могут быть потери пакетов, и как результат некорректная(битая) компиляция, желательно держать канал не занятым, также важен параметр maxSendAheadTasks= .

Для локалки рекомендуется значение: 10, для компиля через интернет-соединение по дефолту выставлено значение 5.

Обязательно не забудьте предварительно открыть необходимые программе порты на вашей машине (4100-4200) и настроить корректно роутер и брандмауэр.

О ТРАВЕ

Изначально в компиляторах травы (xrdo_light) наблюдается глюк, что получившаяся в результате трава, уже в самой игре чернеет в удалении от игрока и сильно контрастирует с террейном. Но это поправимо:

В папке с полученным уровнем берем build_details.dds, и через paint.net пересохраняем как DXT1 с мип-мапами.

О ТЕРРЕЙНЕ

Текстуру террейна (находится в папке с уровнем в подпапке terrain) иногда тоже приходится фиксить - снижать на треть saturation и увеличивать прозрачность.

Увеличение прозрачности террейна также снижает яркость модели игрока в dx8.

Если террейн кажется слишком светлым, рекомендуется через paint.net повысить его прозрачность c 255 до 200-150. Сохранять как DXT5 без мип-мапов.

Но будьте внимательны, глюки не исключены.

О КОМПИЛЯЦИИ КАРТ ПОД ФОРМАТ ТЧ (для теней чернобыля)

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

Новый метод:

lmap*_1.dds - не трогаем

lmap*_2.dds - через paint.net меняем прозрачность с 255 до 150, сохраняем в формате dxt5 без мипмапов

Затем их же открываем в фотошопе (Adobe photoshop + Nvidia dds plugin):

заходим в пункт "Изображение" - "Внешний канал"

Канал: выбираем Альфа 1

Наложение: выбираем Нормальный (в теории можно проверять и другие варианты)

Cохраняем в формате dxt5 без мипмапов.

Очередность должна соблюдаться - сначала paint.net, потом Photoshop. Если лайтмапы в последствии снова обрабатывать пейнтом, то не исключены цветные глюки-пятна.

Старый метод (может оставлять артефакты):

lmap*_1.dds - не трогаем

lmap*_2.dds - через paint.net снижаем контраст на 15 единиц и прозрачность с 255 до 50, сохраняем в формате dxt5 без мипмапов

Чтобы воллмарки (всякие пятна на стенах/асфальте) в тч в dx8 не глючили, надо:

shaders\r1\effects_wallmarkmult.s и shaders\r1\effects_wallmarkset.s позаимствовать из чн/зп.

Если готовый уровень слишком "тяжел" для движка ТЧ (вылетает на dx9 с логом bytes_need<=mSize), то рекомендуется создать отдельную погоду (погодный конфиг) с ограниченной дальностью обзора (обычно 120-250м хватает) и через config\game_maps_single.ltx указать его использование для нужного уровня.

Альтернативный метод избежать вылета на тч в dx9 (с логом bytes_need<=mSize) на больших локах из чн/зп. Сразу скажу - это наверно на крайняк, например для mp, где невозможно конкретной локе присвоить конкретный погодный конфиг с ограниченной дальностью.

Побочные эффекты: светимость по ночам в dx8/dx9 и др.

В левеледиторе спавним $env_mod в центре карты (Spawn Element - $env_mod), заходим в его свойства и выставляем:

radius 10000 (радиус нашей зоны - должна покрывать всю карту с запасом - ставим по максимуму)

power 1000 (мощность - ставим по максимуму)

view distance 130 (дальность видимости внутри нашей зоны - чтоб большие чн-карты не вылетали на тч в dx9) - ставим 120-250

fog color (сверху вниз) 0 0 50 128 128 128 (не критично)

fog density 0.9 (не критично)

ambient color 0 0 5 13 13 13 (не критично)

sky color (сверху вниз) 0 0 40 102 102 102 (примерно)

hemi color(сверху вниз) 346 7 70 179 166 169 (примерно)

в конце говорим Compile - make game, и в свой уровень вставляем полученный level.env_mod

Самый важный параметр - view distance. Чем он больше, тем больше шансов вылететь с логом (bytes_need<=mSize).

На разных картах свои ограничения. Стабильность на вылеты проверяем полетами в demo_record, осматривая всю локацию с максимально возможной высоты и потом в Leveleditorе уменьшая view distance до полной стабильности.

Хотя вполне возможно, что ходя по земле, мы никогда не получим нагрузку, как с высоты, поэтому лучше оставлять не менее 120 метров.
Дата регистрации: 22.07.2017
Форум » Игротека » S.T.A.L.K.E.R. » Модостроение сталкер » Набор ускоренных компиляторов для ЧН-ЗП СДК
  • Страница 1 из 1
  • 1
Поиск: